皆さまこんにちは。エンジニアリングチームの小谷です。
F-RevoCRMでは下記の機能において、cronからShellScriptを利用して定期的な実行を必要としています。
- ワークフロー機能におけるメール送信処理
- 「アラームの送信」をONにした予定のリマインダーメール送信
- メールスキャナー機能におけるルール実行
- 件数の多いデータインポート機能・・・等
例えばワークフロー関係の処理を開発している最中に、毎回1分待つというのもストレスが溜まってしまいますので、今回はまず、Linux環境でF-RevoCRMの定期処理を手動で実行する方法をご紹介します。
※cronの基本的な設定方法については割愛します
cronの手動実行の設定方法
サーバーにログイン後、F-RevoCRMのディレクトリに移動しcd cron
でcronディレクトリに移動。
cronディレクトリに居る状態かつワークフローの実行時間を既に経過している状態で sh vtigercron.sh
を実行する事でF-RevoCRMの定期処理が実行されます。
cronの実行間隔を変更する
これで手動実行が可能になりましたが、実はF-RevoCRMでは負荷を考慮し、デフォルトでは最短15分に1回までしか定期実行処理が動かないように制限されており、管理画面からこれ以上小さい値を指定できません。
この最小実行間隔は、config.inc.php
で指定することができ、
//Set minimum cron frequency.
$MINIMUM_CRON_FREQUENCY =15;
※コンフィグが無い場合は追加してください
この値を小さくすることで、F-RevoCRMの管理画面からでも、15分以下を指定することが可能になります。
なお実行時間の間隔はvtiger_cron_task
テーブルに、各Cronタスクごとのfrequency
の値が保持されていますので、挙動がおかしい場合はこちらもご確認ください。
開発中・テスト中の環境で定期処理を任意のタイミングで実行したい場合はぜひ試してみてください。
それでは次回もまたThinkingReedエンジニアリングBlogをよろしくお願いします!