スケジュールされたタスク (worker.php) に指定できるオプション

インストール時に設定いただく worker.php では様々なタスクが実行されますが、引数を指定することで実行するタスクを絞り込んだり、逆に除外するタスクを指定することができます。

サーバーの cron または タスク スケジューラ(Windows の場合) に worker.php を定期的に実行するように設定します。推奨間隔は15分です。

*/15 * * * * apache cd /var/www/admin; php tools/worker.php

指定できるオプション

  • --verbose (引数なし) : タスクの進捗を出力します。
  • --max_exec_time (秒) : PHPの max_execution_timeに指定した秒をセットします。省略時は3600秒です。
  • --sleep (秒) : 実行開始までの待ち時間を指定します。
  • --publish_queue_limit (数値) : キューによる再構築ファイル数を指定します。
  • --publish_queue_offset (数値) : キューによる再構築をスキップする数を指定します。--sleep、--publish_queue_limit、--task_idsとあわせて指定することで並列して処理を行わせることができます。
  • --task_ids (タスクIDのカンマ区切り) : 各々のIDについては以下に説明します。
  • --exclude_ids (タスクのIDのカンマ区切り) : 各々のIDについては以下に説明します。

再構築キューを並列で実行する設定の例

キューによって再構築されるファイルが30ファイルだとして、10分おきに30秒ずつずらして3並列で再構築を実行する設定の例

*/10 * * * * apache cd /var/www/admin; php tools/worker.php --task_ids publish_queue --publish_queue_limit 10
*/10 * * * * apache cd /var/www/admin; php tools/worker.php --task_ids publish_queue --sleep 30 --publish_queue_limit 10 --publish_queue_offset 10
*/10 * * * * apache cd /var/www/admin; php tools/worker.php --task_ids publish_queue --sleep 60 --publish_queue_limit 10 --publish_queue_offset 20

# この設定をしている時は逆に定期実行タスクから publish_queue を除外する

*/15 * * * * apache cd /var/www/admin; php tools/worker.php --exclude_ids publish_queue

タスクID (常時実行対象)

ID 説明
remove_compiled テンプレートのコンパイルキャッシュのうち、有効期限(環境変数cache_expires:初期値86400)の切れたファイルを削除します。
clean_up_cache アプリケーションキャッシュ、データベースのクエリキャッシュのうち、有効期限(環境変数 cache_expires:初期値86400)の切れたキャッシュをクリアします。
publish_queue URLマップのファイル出力で「キュー」に指定したアーカイブを再構築します。
scheduled_publish ステータス/有効期限対応のモデルのオブジェクトで、ステータス「公開予約」で公開日を過ぎているものをステータス公開にしてパブリッシュします。
scheduled_replacement ステータス/有効期限対応/リビジョン対応のモデルのオブジェクトのリビジョンで、ステータス「差し替え予約」で公開日時を過ぎているものをステータス公開にしてパブリッシュします。
scheduled_unpublish ステータス/有効期限対応のモデルのオブジェクトで、ステータス「公開」「公開終了日を指定」にチェックの入っているもので公開終了日時を過ぎているものをステータス終了にして非公開にします。
job_queue ジョブ・キューに保存されているジョブ・キューを実行します。(例 : EmailMagazineプラグインによるメールマガジンの予約配信や SiteSync プラグインによるディレクトリ同期など)
recompile_views 環境変数 recompile_views(初期値なし) に数値(秒)の指定のある時データベースに保存済のビューのコンパイルキャッシュを再生成します。
clean_up_rebuild_logs 環境変数 rebuild_async 指定のある時、古い再構築関連のログを削除します。
clean_up_temp_dir 一時ファイルを生成する temp_dir で期限(環境変数 sess_timeout:初期値86400)の切れたファイル・ディレクトリを削除します。
clean_up_duplicate_urls URLオブジェクトの URLが重複しているものを整理して不要なものを削除します。
repair_urls システムやスペースのサイトURLやサイト・パスが変更されている時、URLを付け替えます。
re_publish_urls ファイル出力が静的、削除フラグが付いていない、ファイルが存在しないURLを再パブリッシュします。
upgrade_schemes スキーマアップグレードがある時、実行します。
upgrade_plugins プラグインアップグレードがある時、実行します。

プラグインによるタスクのID

ID 説明
searchestraier_update_idx プラグイン「SearchEstraier」の検索インデックスを洗い替えします。前回実行から86400秒(1日)以内の実行はスキップされます。環境変数「searchestraier_update_idx_frequency」でスキップする時間(秒)を変更できます。
documentsearch_update_idx プラグイン「DocumentSearch」の対象ファイルをプラグイン「SearchEstraier」の検索インデックスに追加します。searchestraier_update_idxが実行されていないときは何も行いません。
mirroring_scheduled_tasks プラグイン「Mirroring」によってサーバー間同期が予約されている時に同期を実行します。
linkchecker_linkcheck プラグイン「LinkChecker」でタスクを実行する曜日と時刻を指定している時、リンクチェックを実行して結果をメールで通知します。

1日1回深夜に実行されるタスクのID

これ以降のタスクは、1日1回夜間に実行されます。環境変数「maintenance_time」で配列指定します。初期値は["020000", "050000"](AM2時〜5時の間に1回実行されます)

ID 説明
reset_urlinfo サイト・パスやサイトURLが変更されている時、正しいURL、パスに修正します。
remove_old_sessions 期限(環境変数 sess_timeout:初期値86400)切れの mt_session テーブルのレコードを削除します。
cache_compilation_error 破損しているキャッシュファイルがあれば削除します
set_uuid UUIDカラムのあるモデルのオブジェクトで、uuidカラムが空のものがあれば値をセットします。
remove_old_revisions モデルに設定したリビジョンの指定数を超えたものがあれば、古いものを削除します。
cleanup_thumbnails_c 環境変数「assets_c」を指定してサムネイルの静的ファイルを生成している時、すでに削除されたオブジェクトのサムネイルを削除します。
optimize_tables データベースのテーブルの最適化を行います。
worker_upgrade_functions バージョンアップによるアップグレード処理がある場合、実行します。
logrotate ログファイルのローテションを行います。環境変数「logrotate」で期間や世代数を設定できます。