Попробуйте запустить его без драгоценного камня sidekiq-unique-jobs
. В любом случае, вы защищаете вас от обманов в течение 30 минут. Этот драгоценный камень устанавливает свои хэш-клавиши в Redis для автоматического истечения срока действия через 30 минут (настраивается). sidekiq
сам устанавливает свои рабочие места для автоматического истечения срока действия в Редисе через 24 часа.
Я, очевидно, не вижу ваше приложение, но я готов поспорить, что вы хотите не обрабатывать тот же файл очень часто. Я хотел бы контролировать это на прикладном уровне, а не и отслеживать собственные hashkey делать что-то похожее на то, что Уникально работа камень делает:
hash = Digest::MD5.hexdigest(Sidekiq.dump_json(md5_arguments))
Это также возможно, что sidekiq-unique-jobs
промежуточного слоя также становится на пути sidekiq
зная если работа выполнена должным образом или нет. Готов поспорить, что не так много людей тестируют это с помощью длительных заданий в той же конфигурации.
Если вы продолжаете видеть это поведение без дополнительного промежуточного слоя, попробуйте resque
. Я никогда не видел такого поведения с этим камнем, а неудавшиеся задания имеют полезный параметр повтора в графическом интерфейсе администратора.
Главное преимущество sidekiq в том, что оно многопоточное. Тем не менее, параллелизм 25 с большими видеопроцессами может немного подтолкнуть его. По моему опыту, forking более стабилен и портативен, с меньшим беспокойством по поводу безопасности потоков вашего приложения (YMMV).
Независимо от того, что вы делаете, убедитесь, что вам известны параметры TTL автоматического истечения срока годности, которые эти системы используют для своих данных в Redis. Размер и характер ваших заданий означает, что рабочие места могут легко резервироваться в течение 24 часов. Эти автоматические удаления происходят на уровне базы данных. На прикладном уровне нет обратных вызовов, чтобы предупредить, что задание было автоматически удалено. Например, в коде sidekiq
они вводили поведение auto-expire в «во избежание возможных утечек». (reference) Это не очень радует, если вам действительно нужны эти задания для выполнения.
Выполнены ли эти задания более 30 минут? – platforms
Гораздо больше, чем 30 минут. 3-4 часа в среднем –