Nouveau venu dans les plugins. J’essaie d’adapter un plugin qui prend environ une heure à s’exécuter. En regardant /sidekiq, je vois que le job s’exécute toutes les 30 minutes. Ainsi, avant que le premier job ne soit terminé, une autre instance du même job démarre, créant des résultats en double. Comment puis-je empêcher cela ?
Une option, bien sûr, serait de faire en sorte que le job s’exécute dans ses 30 minutes autorisées, mais il existe d’autres contraintes, et je préférerais le laisser s’exécuter aussi longtemps qu’il le souhaite.
J’ai essayé ceci, mais cela ne semble pas empêcher une seconde instance du job de s’exécuter :
Si le mutex se trouve dans le bloc execute, cela signifie simplement qu’il bloquera à cet endroit en l’attendant, ce qui implique que vous verrez deux tâches s’exécuter : l’une en cours d’exécution et l’autre en attente du mutex.
Peut-être souhaitez-vous vérifier sa présence et retourner immédiatement s’il existe une autre instance en cours d’exécution ? Il est difficile de deviner avec si peu d’informations sur le cas d’utilisation exact.