音声読み上げファイルの書き出し処理のタイムアウト設定

公開日 2015-01-27

最終更新日 2015-01-27

音声読み上げのためのMP3ファイルを作成する処理は、次のcron により、15分間隔で新たに音声ファイルを作成する必要があるページがあるかをチェックします。

6-51/15 * * * * /bin/bash -l -c 'cd /var/share/zomeki && RAILS_ENV=production bundle exec rake zomeki:cms:talks:exec --silent >> /dev/null 2>&1'

起動中のプロセスは、sys_processesテーブルで管理しており、複数プロセスを起動しないように制御しています。
音声読み上げの処理では、次のようにタイムアウト値として、1時間を設定しています。

https://github.com/zomeki/zomeki-development/blob/master/lib/script.rb#L35

このため音声読み上げの処理が1時間を超えると、プロセスのステータスがクリアされてしまいます。
その結果、音声読み上げのプロセスが複数起動する問題が発生します。

この問題を回避するためには、上記のタイムアウト値 @@kill = 3600 # sec を最大の処理時間に合わせて、長く設定してください。