Дважды выполняется задача delayed_job, в чем проблема?
Приветствую.
Может, кто сталкивался с подобным или есть идеи отличные от "сервер проклят":
Дублируется выполнение задач через delayed_job. При старте script/delayed_job -n1 start - запускается 2 процесса delayed_job, с разными PID. Но "ps aux | grep delayed_job" показывает что запущен один процесс. В htop видно что их 2. И задача выполняется дважды. Всегда.
В случае старта через bundle exec rake jobs:work никакого повторного выполнения задач нет, выполняется 1 раз.
Это 2 треда, ps aux по умолчанию скрывает в один процесс.
Нажмите H и htop скроет так же как и в ps aux
a = show processes for all users
u = display the process's user/owner
x = also show processes not attached to a terminal
Для больше информации набери man ps
Спасибо большое. Помогло понять что проблема в демонизации и запуск в продакшене через инициализацию rake jobs:work в Thread.new вместо стандартного .daemonize, описанного в документации, решает проблему.
Можно и с пробелом. Дело не в этом, даже если бы аргумент вызвал ошибку - тогда бы запустился 1 экземпляр. Даже с аргументом -n2 - запускается 4 процесса: delayed_job.0 (2 шт) delayed_job.1 (2 шт)