cron脱却(コンテナ化を見据えて)
ホーム > 個人開発したことまとめ > cron脱却
cron脱却(コンテナ化を見据えて)
新しく配属されたプロジェクトで Docker や GitLab で自動リリース機能構築(CD)など、これまで触れたことのない技術が大量にあったので、それらを使うことで少しでも早くその技術に慣れ、使いこなせるようになりたかった。
なので今後コンテナ化、GitLab で CD 機能を構築していくが、その前に cron から脱却し、各言語のスケジューラを使用することでコンテナ化したときの移植性を高めたい。
稼働時間を変えたいとか、新しく bot を作った時の稼働タイミングの設定を、これまで使用していた cron から各アプリで行うように修正することで、ローカルで設定したものを GitLab に push してしまえば後は勝手にリリースされて時間になったら bot が稼働するという状態を目指したい。
どんな仕組み?
対応前

1台1つのプログラムは別ファイルになっており、それを cron でキックしていた。
対応後
親となるプログラムを作り、そこで稼働時間の設定を行い、時間になったら動くような仕掛けを作った。

Go のスケジューラと実装
jobrunner というライブラリを使用した。
python のスケジューラと実装
schedule というライブラリを使用した。
参考
