cron タスクの設定 【 webcron の利用】


2008/10/09 追記
同種のサービスを用いたコンテンツを作成中です。
今後はこちらをご覧ください
2008/10/03 追記
以下で説明している Webcron サービスは、2008/10/01 をもって有償サービスとなり、サイト及びユーザインターフェイスも大幅に変更されました。 そのため、以下の説明はもはや無効となっており、近日中に削除を予定しています。

Drupal icon

はじめに

cron タスクの設定では、サーバの cron を利用した cron タスクの設定方法について説明しました。
しかしながら、多くのユーザが利用するであろう国内のホスティングサービスでは、cron を提供するプロバイダがあまり多くないのが現状のようです。(海外のホスティングサービスでは、比較的多くのプロバイダが提供しています)

このようなホスティングサービスを利用している場合は、

管理セクション >> ログ >> 現状報告 (admin/logs/status)

にアクセスし、「cron メンテナンスのタスク」にある「cron を手動で実行」をクリックするか、あるいは cron.php に直接アクセスすることで、cron タスクの実行を手動で行うことができます。
しかし、これを定期的に実行するのは大変に手間が掛かります。

そこで、このチュートリアルでは、cron の代用となるサービスである「webcron」の紹介と、それを利用した cron タスクの実行方法を説明します。


webcron について

webcron はフランスの方が提供している、特定の URL に定期的にアクセスしてくれるサービスです。
現在は無料(寄付歓迎)で提供されていますが、近い将来には、アクセス頻度や利用可能なタスク数で差別化を図った有料プランも提供されるようです。

利用される場合は、サービスが永続的に提供されることも、定期アクセスが確実に行われることも、当然のことながら保証されていないことを念頭に置き、サービスの乱用等により「日本人お断り」ということにならぬよう、感謝の念と礼節を持って利用されることをお願いいたします。

また、webcron.org と当サイトには一切の関係はありませんので、このチュートリアルに関する質問等を webcron.org にされることや、webcron.org に関して当サイトに問い合わせることはご遠慮願います。


webcron の利用方法

以下では、webcron サイトのスクリーンショットを使用し、ステップ by ステップで説明していますので、以下のバナーをクリックして、webcron サイトへアクセスしながら読み進めることをお勧めします。

  • バナーをクリックすると、別ウィンドウで webcron サイトが開きます。



webcron サイトへアクセスした直後はフランス語になっています。

  1. フランス語が読める方はそのままでも問題ありませんが、ここでは多少でも分かり易くするために、いくつか選択できるインターフェイス言語のうちから、英語を使用することにします。
    英語に切り替えるために、画面一番下のイギリス国旗をクリックしてください。

    webcron.orgトップ画面

  2. 英語画面に切り替わったら、webcron を利用するためのユーザ登録を行いましょう。
    Register をクリックして登録画面に進んでください。

    英語版トップ画面


ユーザ登録画面に移りました。

ユーザ登録に必要なものは、あなたのメールアドレス、好みのログイン名、好みのパスワードの3点です。
メールアドレスは、本登録用のアドレスが書かれた確認メールを受け取る必要がありますので、必ず受信可能なアドレスを指定します。 また、ログイン名とパスワードは共に最大8文字となります。

  1. 各フィールドに必要な項目を入力し、Send ボタンを押してください。

    ユーザ登録画面

  2. Send ボタンを押すと、確認メールを送った旨のメッセージが表示された画面に移ります。


    ユーザ仮登録完了画面


しばらくすると、登録したメールアドレスに、http://www.webcron.org/confirm.php?hash=xxx&email=xxx というアドレスを含んだ確認メールが到着しますので、それをクリックするか、ブラウザのアドレス欄にコピーし、そのアドレスにアクセスしてください。

  1. アクセスすると、確認完了のメッセージが表示され、ログイン可能となります。
    右のログインフォームにログイン名とパスワードを入力し、Entrer を押してログインしてください。

    本登録完了画面

  2. ログイン後、最初と同様に英語インターフェイスにするため、画面下部のイギリス国旗をクリックして英語に切り替えてください。


ユーザ登録とログインが完了しましたので、早速、cron タスクの登録を行いましょう。

  1. 左上にある My tasks リンクをクリックしてください。

    ログイン後トップ画面

  2. タスクリスト画面に移りました。
    続いて、New Task リンクをクリックしてください。

    タスクリスト画面

  3. URL の入力や、実行のタイミングを設定する画面に移りました。
    一番上の UrlUrl フィールドに、cron.php のアドレスを入力してください。 例えば、サイトのアドレスが http://example.com/drupal/ なら http://example.com/drupal/cron.php と入力します。
    その他、いくつかのドロップダウンメニューで実行のタイミングを設定できますが、一般的にはデフォルトで設定されている1時間毎のままで問題はありません。 意図的に cron タスクの実行を遅らせたい場合には、各ドロップダウンメニューで好みのタイミングに設定してください。
    入力が終わったら、Send ボタンを押してください。

    タスク登録画面


タスクリスト画面に移り、リストにタスクが追加されているのがわかります。

続いて、実際にアクセスされるかどうかのテストを行いましょう。

  1. Details リンクをクリックしてください。

    タスクリスト画面

  2. 続いて、Test リンクをクリックしてください。

    タスク詳細画面

  3. アクセスが正しく行われることが確認されると、以下のようにフランス語で緑の文字列が表示されます。 ただし、これはアクセスができたかどうかだけが判定され、ファイルが存在しない場合(404 Not Found)でも「成功」と判定されてしまいます。
    そのため、実際にアクセスが成功しているかどうかは、自身のサイトの

    管理セクション >> ログ >> 最近のログ項目 (admin/logs/watchdog)
    

    で確認してください。
    また、アクセスができず「失敗」と判定されると、以下のようにフランス語で赤い文字列が表示されます。
    URL の間違い等に気付いた場合は、Modify リンクをクリックして修正してください。

    アクセスチェック

  4. 確認の完了後、左上の My tasks をクリックして、タスクリストのページに戻ってください。


これでタスクの登録は完了です。
しかし、登録されたタスクは、デフォルトでは INACTIVE (不活性)となっているため、有効化して ACTIVE にする必要があります。

  1. Enable リンクをクリックして、タスクを活性化してください。
  2. すべての作業が完了したら、右上のLog Out リンクからログアウトして終了します。

    タスク活性化


Drupal icon

以上で webcron を利用した cron タスクの設定は完了です。
時々はサイトの監視ログを確認し、きちんと cron 処理がされていることを確認するとよいでしょう。



おつかれさまでした。