ColdFusion 2018 スケジュールされたタスクのタイムアウトは廃止されています

ColdFusion 2018では ColdFusion Administratorの「スケジュールされたタスク」、<cfschedule>タグのタイムアウトが廃止されました。そのため、そのタスクが完了するまでの待機時間をColdFusion Administratorの「サーバーの設定 > 設定」ページの『リクエストタイムアウト』よりも長く待機させることができなくなりました。

旧バージョンで、タスクのタイムアウト時間を「リクエストタイムアウト」の時間よりも長くしていた場合は、注意が必要です。

ColdFusion 2016まで設定可能だったタイムアウトは、そのタスクが終了して処理が戻ってくるまでの応答時間を伸ばすことが可能でしたが、指定先のリクエストのタイムアウト時間までを伸ばすことができない(指定先のリクエスト側でタイムアウト時間を伸ばす処理が必要)、「リクエストタイムアウトよりも長くタイムアウト時間を無条件に設定できること自体が問題」など、別の問題を生み出していました。

今後、この動作が再び変更される可能性もありますが、現時点のColdFusion 2018 Update 9以下では、タイムアウトを指定できないため、以下の内容を検討してください

  • 「サーバーの設定 > 設定」の『リクエストタイムアウト』を伸ばす。
    • この場合、グローバルな設定の『リクエストタイムアウト』時間が変更されてしまうため、稼働させるアプリケーション側では、個別にアプリケーションレベルの『リクエストタイムアウト』を追加する(Application.cfc でのみ可能:This.timeout)ことを検討してください
       
  • タスクは”応答待ちのタイムアウトエラー”となるが、そのまま使用する
    • タスクの実行自体は『リクエストタイムアウト』に達すると”応答待ちのタイムアウトエラー”となりますが、リクエスト先の.cfmページで<cfsetting>を使用してタイムアウト時間を伸ばしていた場合は、リクエスト先のページの処理は継続して実行されます。
      • 結果的に、タスクで指定したページの処理は(<cfsetting>を指定してタイムアウト時間を伸ばすことで)タイムアウトを迎えることなく処理を終えることができます。
      • 以下の2点の制限に影響しない場合は、この方法を使用することができます
        • scheduler.log に"The request has exceeded the allowable time limit Tag:
          cfhttp "エラーが発生します
        • Enterprise 版でのみ使用可能なタスクの「イベントハンドラー」を使用している場合は、onErrorがキックされます


 


記事公開日:2020年07月03日
最終更新日:2020年07月03日

 


x

Sample Modal Window

This is just a sample…

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.

Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.