movabletype.jp

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

Movable Type では、指定日投稿や迷惑コメント/トラックバックの削除、公開キュー等のスケジュールタスクを拡張しており、次のさまざまな方法でスケジュールタスクを実行できます。

  • cron や Windows タスク・スケジューラを利用した run-periodic-tasks スクリプトの実行
  • ログ・フィードの取得時に実行
  • XML-RPC API で拡張された mt.runPeriodicTasks の利用

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

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

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

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

0,20,40 * * * * cd /path/to/mt; ./tools/run-periodic-tasks

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

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

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

cd /path/to/mt; ./tools/run-periodic-tasks

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

起動時刻は好きなように設定してかまいませんが、1分間隔より短くすることはお勧めしません。

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

Windows サーバーで動作させている場合は、Windows のタスク・スケジューラを利用します。たとえば、次のように登録します。

windows_scheduler.jpg
Windows タスク・スケジューラ設定項目
項目名 解説
タスク名 「Movable Type タスクスケジューラー」
実行するファイル名 Perl インタープリタのパスおよびファイル名 (例: C:\Perl\bin\perl.exe)、「tools\run-periodic-tasks」の順に記述します。
開始 Movable Type をインストールしたディレクトリへのフルパスを指定してください。
スケジュール タスクの実行スケジュールは自由に設定できますが、スクリプトを15分未満の間隔で実行すると、サーバーに負担がかかるためお勧めできません。環境や目的にあわせて調整してください。

run-periodic-tasksを実行する際は、アプリケーション・ディレクトリに移動することを忘れないでください。

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

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

ActivityFeedsRunTasks 0

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

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