maeshimaの日記

メモ書きです

cronの三つの弱点

cronの代換となるプラグインclockwork - maeshimaの日記を使うべきなのかなあというのを考えていて、Rethinking Cronのエントリにたどり着きました。cronの欠点について書かれていたのでざっくり訳してまとめます。

スケールしたときにめんどい

  • 共有しているところ(DBとかmemcacheとか)が複数のjobで競合しないようにlockしないといけない
  • lock がうまいこといってなかったらlockを削除したりとかしないといけなくてめんどい

デバッグしにくい

  • cronの文法はわかりにくいので時間を間違えやすい
  • シェルの環境がcronjobと通常のユーザとで違うので変なことになりやすい
  • 変なことになってもフィードバックが少ないので調べにくい

バックグラウンドで実行できない

  • 長めのjobを実行するときには job queueing と worker があった方がいい。cronはそれがない。

感想

cronの欠点については納得。

でも全てのcronタスクをいちいち全部clockworkに置き換えなくてもいいかなーという風に感じた。ある程度規模の大きい(あるいは大きくなりそうな)タスクやシステムの時に有効かな。