序章 最近筆者があるシステム上の非同期ワーカーに対して作業していたところ、新しいコードをデプロイしてこのプロセス達を再起動すると全てのワーカーが同じタイミングで停止→再起動してしまうのでアラートがちらほら流れてきました。クリティカルなものではないのですが、アラートはうざいです。さらに開発機では何回か失敗もしたのですが、その失敗のせいでワーカーが起動に失敗することもありました。その間は当然ワーカー機能は止まったままです。 アラートはできればみたくないのです。さらに万が一新しいコードが起動に失敗した場合でも前の世代が動いていればこのあたりの心配をする必要がなくなります自分がそのあたりに手を入れるタイミングでServer::Starterをかまして対処してしまうことにしました。 元のワーカー まず前提として、このワーカー達は以下のような形で「実行するワーカーのコマンド名(実際はクラス名)」と「い
![普通のデーモンを 1) Server::Starterでホットデプロイ+ 2) slow-restart対応にする - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/2dc6d5b4f6ea6686b82519a5d59f0c9aea0debf4/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUU2JTk5JUFFJUU5JTgwJTlBJUUzJTgxJUFFJUUzJTgzJTg3JUUzJTgzJUJDJUUzJTgzJUEyJUUzJTgzJUIzJUUzJTgyJTkyJTIwMSUyOSUyMFNlcnZlciUzQSUzQVN0YXJ0ZXIlRTMlODElQTclRTMlODMlOUIlRTMlODMlODMlRTMlODMlODglRTMlODMlODclRTMlODMlOTclRTMlODMlQUQlRTMlODIlQTQlMkIlMjAyJTI5JTIwc2xvdy1yZXN0YXJ0JUU1JUFGJUJFJUU1JUJGJTlDJUUzJTgxJUFCJUUzJTgxJTk5JUUzJTgyJThCJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkNtaWRkbGUmcz0zNTZmZjU5N2RiMzEyNzBkNDEyM2IyYWNlNjBmNDQ2ZA%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbGVzdHJyYXQmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTE2MjAxMDFmMzhlYzQ0MGQwY2RiNjBkNDAyYTZkMThk%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D41a9143c100e2aaa27be818feca62d89)