Currently when running multiple workers a race condition can occur when both workers need access to the same repository. When working on a repository the worker should use some kind of locking mechanism that prevents other workers from accessing it. When locked the worker should just sleep and wait. Perhaps Gearman has some feature for denying a task so it can get queued again.
Currently when running multiple workers a race condition can occur when both workers need access to the same repository. When working on a repository the worker should use some kind of locking mechanism that prevents other workers from accessing it. When locked the worker should just sleep and wait. Perhaps Gearman has some feature for denying a task so it can get queued again.