概要
過去に crazymax/swarm-cronjob を使って swarm 上で定期実行する方法を紹介しました
もしスケジュールを変更する場合は stack deploy し直せば良いのですが stack deploy ができなく service update などを使う場合はラベルの張替えが必要になるのでその手順を紹介します
環境
- Ubuntu 18.04
- docker 19.03.13
service update でラベルを張り替える
-
docker service update cronjob1 --force --label-rm "swarm.cronjob.schedule"
-
docker service update cronjob1 --force --label-add "swarm.cronjob.schedule=5 10 * * *"
削除 -> 追加の手順でやっていますが追加の手順だけでも上書きしてくれるので大丈夫だと思います
イメージの変更をしない場合は --force
オプションがないとターミナルが戻ってこないので付与します
crazymax/swarm-cronjob のコンテナは再起動しなくても良さそう
自分はしばらく待っていると勝手に再スケジュールしてくれました
もし即時反映させたい場合はコンテナを再起動すれば良さそうです
0 件のコメント:
コメントを投稿