Fix race condition between set() and push()
Pre-release
Pre-release
A worker can end up picking up a job between set() and push(), causing a race condition that results in the job running twice. This update fixes the race by adding an initial state for jobs that haven't yet been pushed.
There is no test included because I couldn't work out a clean way to reliably test for the race.
Fixes #13.
Thanks to @sterien7 for reporting, and to @sidepelican for the excellent analysis of the problem in the original report against the old version of the driver!