CFSCHEDULE  
説明

ColdFusion スケジューリングエンジンへのプログラムインターフェイスを提供します。ページ出力をスタティックな HTML ページに書き出すオプションと共に、スケジューリングした間隔で CFML ページを実行できます。この機能を利用すると、データベーストランザクションが実行されてページにデータが挿入されるのを待つことなく、レポートなどのデータをパブリッシュするページをスケジューリングすることができます。

 
カテゴリ

変数操作タグ

 
シンタックス
<cfschedule
   action = "update"
   task = "taskname"
   operation = "HTTPRequest"
   file = "filename"
   path = "path_to_file"
   startDate = "date"
   startTime = "time"
   url = "URL"
   port = "port_number"
   publish = "yes"、"no"
   endDate = "date"
   endTime = "time"
   interval = "seconds"
   requestTimeOut = "seconds"
   username = "username"
   password = "password"
   proxyServer = "hostname"
   proxyPort = "port_number">
   proxyUser = "username"
   proxyPassword = "password"
   resolveURL = "yes"、"no"
 
<cfschedule
   action = "delete"
   task = "TaskName">
 
<cfschedule
   action = "run"
   task = "TaskName">
 
関連項目

cfcookie、cfparam、cfregistry、cfsavecontent、cfset

 
ヒストリ

ColdFusion MX 6.1: 間隔の計算方法が変更されました。日の長さに標準時と夏時間の切り替えが反映されるようになりました。月の長さは、4 週間ではなくカレンダーの月の長さになりました。スケジューラで閏年を正しく処理できるようになりました。

 
使用方法

このタグと ColdFusion MX Administrator の [スケジュールされたタスク] ページで ColdFusion のタスクをスケジューリングします。このタグを使用して追加または変更したタスクは Aministrator で表示できます。Administrator の [サンドボックス/リソースセキュリティ] ページで、このタグを無効にすることができます。このタグの成功または失敗のステータスは、cf_root/logs ディレクトリ (マルチサーバー設定および J2EE 設定では cf_webapp_root/WEB-INF/cfusion/logs) にある "schedule.log" ファイルに書き込まれます。

タスクを作成するときに、実行する ColdFusion ページの URL、実行の日付、時刻、頻度、およびタスク出力を HTML ファイルにパブリッシュするかどうかを指定します。出力をパブリッシュする場合は、出力ファイルのパスとファイルを指定します。

毎月 28 日 ~ 31 日の間のいずれかの日に実行するジョブをスケジュールすると、スケジューラは次のように処理を実行します。

  • 毎月のジョブを月の最終日に実行するようにスケジュールすると、スケジュールしたジョブは各月の最後の日に実行されます。たとえば、毎月のジョブを 1 月 31 日から開始するようにスケジュールした場合、ジョブは 1 月 31 日、2 月 28 日または 29 日、3 月 31 日、4 月 30 日という順序で実行されます。
  • 毎月のジョブを 29 日または 30 日に実行するようにスケジュールすると、30 日または 31 日まである月では指定した日付に、2 月は最終日にジョブが実行されます。たとえば、毎月のジョブを 1 月 30 日から開始するようにスケジュールした場合、ジョブは 1 月 30 日、2 月 28 日または 29 日、3 月 30 日、4 月 30 日という順序で実行されます。

開始時刻に過去の時刻を指定して、ジョブを 1 回実行するようにスケジュールした場合、そのタスクがまだ実行されていないときは、直ちに実行されます。開始時刻に過去の時刻を指定して、繰り返し発生するジョブをスケジュールすると、ジョブは次に訪れる最も近い指定時刻に実行されます。

スケジューラ設定ファイルの cf_rootlibneo-cron.xml には、スケジュールされたすべてのイベントが個別のエントリとして書き込まれます。

 
<h3>cfschedule の例</h3>
<!--- この参照専用の例では、タスクをスケジュールします。 
      この例を実行する場合は、コードの周囲のコメントを削除し、
      startDate、startTime、url、file、および path の各属性を
      適切な値に変更してください。 --->
<!--- 
<cfschedule action = "update"
   task = "TaskName" 
   operation = "HTTPRequest"
   url = "http://127.0.0.1/playpen/history.cfm"
   startDate = "8/7/03"
   startTime = "12:25 PM"
   interval = "3600"
   resolveURL = "Yes"
   publish = "Yes"
   file = "sample.html"
   path = "c:inetpubwwwrootplaypen"
   requestTimeOut = "600">
--->
ACTION  
  必須
 
  • delete: 指定されたタスクを削除します。
  • update: 既存のタスクを更新します。task 属性で指定された名前のタスクが存在しない場合は、新しいタスクを作成します。
  • run: 指定されたタスクを実行します。
TASK  
  必須
 

タスクの名前です。

OPERATION  
  action = "update" の場合は必須
 

スケジューラが実行するオペレーションです。HTTPRequest を指定する必要があります。

FILE  
  publish = "Yes" の場合は必須
 

スケジューリングしたタスクのパブリッシュされた出力を保管するファイルの名前です。

PATH  
  publish = "Yes" の場合は必須
 

パブリッシュされたファイルを入れるディレクトリへのパスです。

STARTDATE  
  action = "update" の場合は必須
 

スケジューリングしたタスクを最初に実行する日付です。

STARTTIME  
  action = "update" の場合は必須
 

スケジューリングしたタスクの実行を開始する時刻です。

URL  
  action = "update" の場合は必須
 

実行するページの URL です。

PORT  
  オプション
 
Default value: "80"

url パラメータで指定したサーバーで使用するポートです。resolveURL = "yes" の場合、ポート番号を指定する取得ドキュメントの URL が自動的に変換され、取得ドキュメント内のリンクは保持されます。url 属性のポートの値は、この値よりも優先されます。

PUBLISH  
  オプション
 
Default value: "No"
  • Yes: 結果をファイルに保存します。
  • No
ENDDATE  
  オプション
 

スケジューリングしたタスクが終了する日付です。

ENDTIME  
  オプション
 

スケジューリングしたタスクが終了する時刻です (秒)。

INTERVAL  
  action = "update" の場合は必須
 

タスクをスケジューリングする間隔です。

  • number of seconds (秒数)
  • once (1 回)
  • daily (日に 1 回)
  • weekly (週に 1 回)
  • monthly (月に 1 回)
REQUESTTIMEOUT  
  オプション
 

デフォルトのタイムアウト時間を延長する場合に使用できます。

USERNAME  
  オプション
 

URL が保護されている場合のユーザー名です。

PASSWORD  
  オプション
 

URL が保護されている場合のパスワードです。

PROXYSERVER  
  オプション
 

プロキシサーバーのホスト名または IP アドレスです。

PROXYPORT  
  オプション
 
Default value: "80"

プロキシサーバー上で使用するポート番号です。

PROXYUSER  
  オプション
 

プロキシサーバーに提供するユーザー名です。

PROXYPASSWORD  
  オプション
 

プロキシサーバーに提供するパスワードです。

RESOLVEURL  
  オプション
 
Default value: "No"
  • Yes: 出力ページ内のリンクを絶対リファレンスに変換します。
  • No