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
を渡す形にする。