Привет, новичок в плагинах! Я пытаюсь адаптировать плагин, который выполняется около часа. Просматривая /sidekiq, я вижу, что задача запускается каждые 30 минут. Таким образом, до завершения первой задачи запускается новый экземпляр той же задачи, что приводит к дублированию результатов. Как это предотвратить?
Один из вариантов, конечно, — уложиться в отведённые 30 минут, но есть и другие ограничения, и я бы предпочел позволить задаче выполняться столько, сколько потребуется.
Я пробовал это, но, похоже, это не предотвращает запуск второго экземпляра задачи:
Полагаю, что задача по отправке сводного письма выполняет именно этот тест, который был добавлен в начале этого года. Возможно, стоит на него взглянуть.
Если мьютекс находится внутри блока execute, это просто означает, что выполнение заблокируется там в ожидании его освобождения, то есть вы увидите два запущенных задания: одно фактически выполняющееся, а другое ожидающее мьютекс.
Возможно, стоит проверить наличие другого запущенного экземпляра и завершить выполнение досрочно? С учётом столь малого объёма информации о конкретном случае использования сложно сказать наверняка.