0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

cronoがある日突然停止していた原因と対策

Last updated at Posted at 2021-02-05

概要

私はモバイルアプリのバックエンドAPIに Ruby Rails + Grape を docker (compose)にのせて使用していて、同時に、dockerと親和性の高いcronoを動かしてます。

が、二か月くらい安定稼働してたのにある日突然停止!(^^;)。(二か月というのがヤバい)

cron系は止まるのはやばいので、書いておきます。

原因

個人アプリだったので、cronoの設定は、あまり考えずに設定してました(汗)。

危険な話ですが、ログが溜まりすぎると停止します(環境によっては停止しないのかもしれないが、自分の環境では見事に停止してくれてました)。

cronoは、dbテーブルを自前で持っているわけですが(導入時migrateすると思います)、そこに管理情報を入れるのだが、何もしないとそのフィールドにログをしこたま突っ込んでくれます(笑)。

なんで止まったんだろうと思い、phpmyadminで覗いて、そこのフィールドのデータを削除してあげると、とたんに動き出したのでそれが原因で間違いありませんでした。

対策

truncateする設定をしないといけませんね。

config/cronotab.rb
#Crono.perform(AggregateJob).every 10.minutes
Crono.perform(AggregateJob).with_options(truncate_log: 1000).every 10.minutes

感想

私が不注意だったとはいえ、crono大丈夫かよ・・という感じです。開発も止まってるようだし、業務ではやはり使わないほうがいいんだろうか?

誰か教えてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?