Ensure only one job is started for the same unicity_id
To avoid multiple job runners getting the same job at the same time, for a given unicity_id (identifies job type + parameters):
- a lock is used during the update of the selected job
- we ensure no other job is already started
- we select the newest (in date order) job from all the waiting jobs and start it (status, started_at)
- we cancel all the other waiting jobs

Should fix #1323.

Ensure only one job is started for the same unicity_id: To avoid multiple job runners getting the same job at the same time, for a given unicity_id (identifies job type + parameters):
- a lock is used during the update of the selected job
- we ensure no other job is already started
- we select the newest (in date order) job from all the waiting jobs and start it (status, started_at)
- we cancel all the other waiting jobs

Should fix #1323.
