You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Running multiple instances of dev tasks which create the same jobs may result in multiple copies of the same job instance with the same signature.
Running multiple dev tasks at the same time is not intentional but this may happen in some situations. For example:
running a dev task with long execution time via browser may result in the browser thinking that the page is unresponsive and firing a redundant request
running a dev task with long execution time as a job may result in the queue runner thinking the task job is stale and resuming it
Suggested solution
Inside QueuedJobService::queueJob() wrap the job creation inside transaction (use withTransaction) and change the check for existing job to use the SELECT ... FOR UPDATE approach (similar to job locking).
Job signature system is not thread safe
Running multiple instances of dev tasks which create the same jobs may result in multiple copies of the same job instance with the same signature.
Running multiple dev tasks at the same time is not intentional but this may happen in some situations. For example:
Suggested solution
Inside
QueuedJobService::queueJob()
wrap the job creation inside transaction (usewithTransaction
) and change the check for existing job to use theSELECT ... FOR UPDATE
approach (similar to job locking).PR
The text was updated successfully, but these errors were encountered: