Skip to content
Last updated

TD Workflow FAQ

ループが何度も実行されると、不明なエラーが発生するのはなぜですか?

ワークフローキューに登録されるタスクの数は1,000に制限されています。ループでは、タスクはサブタスクごとにキューに登録されます。このエラーを回避するには、タスクをより小さなループに分割してください。

集計されたワークフロー結果をメールで送信できますか?

メールでファイルを添付することはできませんが、部分的な結果をメール本文にエクスポートすることができます。

ワークフローの名前を変更できますか?

いいえ。代替手段として、ワークフローを削除し、別の名前で再作成することができます。

親ワークフローにおける依存ワークフローの数に制限はありますか?

TD Consoleは親ワークフローに関連するすべての依存ワークフローの可視性を提供するため、依存ワークフローを40未満に制限するようにしてください。

ワークフローのスケジュールを自動的に停止できますか?

はい。開始日と終了日を持つワークフローは、柔軟なスケジュール機能を提供し、不要なダミーワークフロー実行によるコンピュータリソースの無駄を排除します。

今日スケジュールした日次ワークフローが実行されないのはなぜですか?

Treasure Dataがワークフローを実行するリクエストを受け取ると、自動的にセッション(ワークフローを実行するための事前計画)を作成します。これは、スケジュールされた時間にワークフローを実行する実際の試行であるアテンプトとは対照的です。

シナリオ

以下のシナリオでは、今日実行されると予想されるワークフローが翌日に実行される理由を説明します。

今日新しいワークフローを作成し、テストとして実行しました。結果に満足した後、今日から始まる日次スケジュールでワークフローを実行するように設定したいと考えています。

現在の時刻は2022年4月27日14:20:10です。

今日から開始する日次スケジュールワークフローを作成します。

_export:
  td:
    database: jean_wf_temp

timezone: America/Los_Angeles

schedule:

   start: 2022-04-27
   daily>: 22:35:00

   end: 2022-05-30

+setup:

  echo>: ${session_time}

ワークフローを保存した後、Next Attempt時間を確認します。このシナリオでは、以下が表示されます:

実際:2022年4月28日 午後10:35

予想:「2022年4月27日 午後10:35」

ワークフローセッションは、今日のテストで早い時間に実行されたため、すでに存在しています。したがって、ワークフローの次の許容セッション時間は2022:04:28 00:00:00であり、スケジュールされた実行時間は2022:04:28 22:35:00、つまり2022年4月28日の午後10:35です。

注意事項

  • セッション時間はワークフローを実行する計画であり、スケジュール時間はワークフローを実行する試行が行われる時間です。
  • 日次スケジュールワークフローの場合、セッション時間は実行日の0時、つまりYYYY:MM:DD 00:00:00です。
  • 時間単位のスケジュールワークフローの場合、セッション時間はその時間の0分、つまりHH:00:00です。

この時点でのシステムクロックが2022-04-27 14:20:10 +0900の場合。

スケジュール最初のセッション時間最初のスケジュール実行時間
hourly>: "32:32"2022-04-27 14:00:00 +09002022-04-27 14:32:32 +0900
daily>: "10:32:32"2022-04-28 00:00:00 +09002022-04-28 10:32:32 +0900
weekly>: "2,10:32:32"2022-04-29 00:00:00 +09002022-04-29 10:32:32 +090
monthly>: "2,10:32:32"2022-05-02 00:00:00 +09002022-05-02 10:32:32 +0900

なぜ終了日の正午前にワークフローが終了したのですか?

ワークフローを作成する際、デフォルトのタイムゾーン値UTCを別のタイムゾーンに変更できます。タイムゾーンを変更せずに、ワークフロースケジュールを時間単位で実行するように設定した場合、スケジュール実行はシステムタイムゾーン、つまりUTCに基づきます。

例えば、Asia/Tokyoタイムゾーンにいて、終了日が2022-05-30の時間単位ワークフローをスケジュールしたとします。残念ながら、ワークフローのタイムゾーンを変更しなかったため、デフォルトでUTCになっています。つまり、ワークフローの最後のスケジュール実行は2022年5月30日の午後4:20頃になる可能性があり、これは予想される最後の実行である2022年5月30日午後11:20より9時間早い(UTCとの時差)ことになります。

schedule:
  start: 2022-05-27
  hourly>: 20:00
  end: 2022-05-30

+setup:
  echo>: start ${session_time}