PowerCMS™
2025年1月1日購入分よりライセンスの価格を改定いたします。
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[よくあるご質問] システムログに「タスクを実行するために必要なロックを獲得できませんでした」というログが残っている を追加しました。
[よくあるご質問] 特定のシステムログに絞って確認できますか? を追加しました。

指定日投稿や公開キュー等のスケジュール処理の設定

PowerCMS では、指定日投稿や公開キューによる再構築を実施するため、スケジュール処理を行います。ここでは、スケジュールを処理を設定する方法を解説します。

run-periodic-tasks スクリプトの実行

run-periodic-tasks スクリプトを実行すると、指定日投稿などのスケジュールタスクと、公開キューによる再構築が行われます。お使いのサーバーにあわせた方法で定期的に run-periodic-tasks スクリプトが実行されるように設定してください。

$ cd /path/to/mt
$ perl ./tools/run-periodic-tasks

スクリプトの実行は PowerCMS のアプリケーションディレクトリから行ってください。

crontab を利用したスケジュールタスクの実行 (Linux または UNIX サーバーの場合)

crontab とは、Linux や UNIX サーバー上で定期的にコマンドやスクリプトを実行する cron デーモンの設定ファイルです。crontab に登録することで、定期的に実行することができます。たとえば、毎時0分、15分、30分、45分に実行する場合、次のように記述します。

0,15,30,45 * * * * cd /path/to/mt && perl ./tools/run-periodic-tasks

run-periodic-tasks の実行間隔は15分以上を推奨します。

実行は PowerCMS のアプリケーションディレクトリから行う必要があり、/path/to/mt の部分には新規インストールの事前準備で決定したアプリケーションディレクトリまでのパスを入力してください。

apache や nginx など、ウェブサーバの実行ユーザが行うように設定してください。

cPanel を利用したスケジュールタスクの実行 (LinuxまたはUNIXサーバーの場合)

cPanel とは、ウェブベースのサーバー管理プログラムです。Command to run とラベルの付いたテキストボックスに、次のように記述します。

cd /path/to/mt && perl ./tools/run-periodic-tasks

/path/to/mt の部分には新規インストールの事前準備で決定したアプリケーションディレクトリまでのパスを入力します。

Windows のタスクスケジューラを利用したスケジュールタスクの実行

Windows サーバーで動作させている場合は、Windows のタスクスケジューラを利用します。主な設定項目は以下のとおりです。

「全般」タブ

スケジュールタスクの実行ユーザーや、サーバーへのログイン状態での実行の可否を設定します。

create_task_general.png
項目名 解説 設定例
名前 スケジュールタスクの名前を設定します。 PowerCMS スケジュールタスク
セキュリティオプション 「タスクの実行時に使うユーザーアカウント」には、run-periodic-tasks スクリプトを実行するユーザーを指定します。ウェブサイトディレクトリには、ここで指定したユーザーで書き込めるように権限を設定する必要があります。Administrator など、お使いの環境に合わせて設定してください。
また、サーバーにログインしていないときも実行できるよう「ユーザーがログオンしているかどうかにかかわらず実行する」を選択します。
タスクの実行時に使うユーザーアカウント: Administrator
ユーザーがログオンしているかどうかにかかわらず実行する

「トリガー」タブ

スケジュールタスクの実行開始日時や、繰り返しの間隔を設定します。「新規」ボタンをクリックしてトリガーを作成してください。

create_task_trigger.png
項目名 解説 設定例
タスクの開始 スケジュールタスクの開始方法を設定します。 スケジュールに従う
設定 スケジュールタスクの開始時刻と実行間隔を設定します。 毎日
開始: 2015/05/22 0:00:00
間隔: 1日
詳細設定 繰り返しの間隔などを設定します。間隔を短くするとサーバーへの負荷も高くなりますので、環境や目的にあわせて調整してください。 繰り返し間隔: 15分間
継続時間: 1日間

「操作」タブ

Perl インタープリタのパスや run-periodic-tasks スクリプトのパスを設定します。「新規」ボタンをクリックしてスケジュールタスクの実行内容を設定してください。

create_task_operation.png
項目名 解説 設定例
操作 スケジュールタスクの開始時に実行する操作を設定します。 プログラムの開始
プログラム/スクリプト Perl インタープリタのパスおよびファイル名を指定します。 C:\strawberry\perl\bin\perl.exe
引数の追加 アプリケーションディレクトリから run-periodic-tasks スクリプトまでの相対パスを指定します。 tools\run-periodic-tasks
開始 アプリケーションディレクトリまでの絶対パスを指定します。 C:\inetpub\app\mt

run-periodic-tasks スクリプトはアプリケーションディレクトリに移動してから実行する必要があります。「引数の追加」および「開始」の設定を忘れずにおこなってください。

「条件」タブ

トリガーに加え、タスクを実行する条件を設定します。設定例ではデフォルトのまま変更していません。お使いの環境に合わせて設定してください。

create_task_condition.png
項目名 解説 設定例
「電源」など トリガーに加え、タスクを実行する条件を設定します。 デフォルトのまま変更なし

「設定」タブ

スケジュールタスクの停止や多重実行に関する設定です。設定例では、多重実行を可能にするため、デフォルトの「新しいインスタンスを開始しない」から「新しいインスタンスを並列で実行」に変更しています。お使いの環境に合わせて設定してください。

create_task_setting.png
項目名 解説 設定例
タスクが既に実行中の場合に適用される規則 以前のスケジュールタスクがまだ実行中の状況での、現在のスケジュールタスクの扱いを設定します。サーバーへの負荷が高い場合には「既存インスタンスの停止」などの設定に変更してください。 新しいインスタンスを並列で実行

デーモンモードでの run-periodic-tasks の実行

cron を使用しなくても、run-periodic-tasks をデーモンモードで実行すると、約5分おきに処理が実行されます。run-periodic-tasks をデーモンモードで実行するには、以下のコマンドを実行します。

$ ./tools/run-periodic-tasks -d &

ログフィードの取得時に実行

通常、ログフィードを取得した際に、スケジュールタスクを実行します。ログフィードを取得してもスケジュールタスクを実行しないようにするには、環境設定ファイル mt-config.cgi に次の内容を追記してください。

ActivityFeedsRunTasks 0

XML-RPC API で拡張された mt.runPeriodicTasks の利用

PowerCMS 1.5 で拡張されたメソッドを利用することで、XML-RPC API 経由でスケジュールタスクを実行できます。

次は
一覧へ

お問い合わせ

お問い合わせフォームがご利用できない場合は、以下のメールアドレスからも受け付けております。
contact@alfasado.jp

製品資料ダウンロード

パンフレットデータ、提案用資料などがダウンロードできます。