読者です 読者をやめる 読者になる 読者になる

delayed_job の ワーカー を graceful にする

現バージョン v4.1.2 で、graceful にできないのは、 内部で依存している Daemon に渡すオプションがうまく渡せていないため。 delayed_job/command.rb at v4.1.2 · collectiveidea/delayed_job

ここの部分。

そしてこの問題、

https://github.com/collectiveidea/delayed_job/pull/459

この時から force_kill_waittime オプションを受け付けていないことを指摘されていて、

https://github.com/collectiveidea/delayed_job/pull/916

このプルリクで解決したっぽいようにみえたが、ARGVだと、force_kill_waittime の args をそもそも期待していない Daemon の挙動があるので、 普通にメソッド引数で渡さないといけないところが解決していない。 という指摘があって、それを解決するのがこれ

https://github.com/collectiveidea/delayed_job/pull/925

一旦こちらがマージされるまで、モンキーパッチで Daemons.run_proc に強制的にforce_kill_waittime を渡す形にする。