TOP

このエントリーをはてなブックマークに追加

cron脱却(コンテナ化を見据えて)



ホーム > 個人開発したことまとめ > cron脱却

cron脱却(コンテナ化を見据えて)

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



どんな仕組み?

対応前

対応前スケジューラ

1台1つのプログラムは別ファイルになっており、それを cron でキックしていた。



対応後

親となるプログラムを作り、そこで稼働時間の設定を行い、時間になったら動くような仕掛けを作った。
対応後スケジューラ



Go のスケジューラと実装

jobrunner というライブラリを使用した。


python のスケジューラと実装

schedule というライブラリを使用した。



参考