ScheduledTask

ScheduledTask[expr,timespec]

timespec で定義されるスケジュールで評価される,スケジュールされたタスクを表す.

詳細とオプション

  • CloudDeploy[ScheduledTask[]]は,スケジュールされたタスクがクラウド内で実行されるように配備する.
  • SessionSubmitLocalSubmitCloudSubmitは,ローカルシステムあるいはクラウドの現行セッションのバックグラウンドで評価されるようにスケジュールされたタスクを送信する.
  • スケジュールされたタスクは,TaskSuspendTaskResume等の関数を使って制御することができる.
  • 引数 expr は,評価するWolfram言語のコード,CloudObject,Wolfram言語の入力を含むFileのいずれでもよい.
  • 次の時間 period 指定を与えることができる.
  • "Hourly"1時間に1回実行
    "Daily"1日に1回実行
    "Weekly"1週間に1回実行
    "Monthly"1ヶ月に1回実行
    "Yearly"1年に1回実行
    Quantity[...]指定された時間間隔で実行
  • 次の timespec 指定を与えることができる.
  • periodperiod ごとに実行
    {period}period の後で1回実行
    {period, count}count 回だけ実行
  • 次の指定でタスクの実行時期を制限することができる.
  • {start,timespec}日付 start から実行
    {timespec,end}日付 end に終了
    {start,timespec,end}日付 start から end まで実行
  • startend のパラメータはDateObjectとして,あるいは他の時間指定で与えることができる.
  • 追加的な timespec 指定を与えることができる.
  • DateObject[patt]指定されたパターンにマッチする時に実行
    "cronspec"Unixのクロン指定で指定された時に実行
    Nowすぐに実行
    Noneオンデマンドのみで実行
  • DateObject[patt]では,パターン patt の形式は{y,m,d,h,m,s}である.ただし,後半の要素は除外することができる.各要素は,整数,n1|n2|の形式の整数の選択,あるいは可能な任意の値を表す_でよい.日の要素に関しては,文字通りの日を,Monday等の曜日を表す記号で置換することもできる.
  • 使用可能なオプション
  • AutoRemoveFalse最終のスケジュールされた実行後にタスクを取り除く
    NotificationFunction Automatic通知の出し方
    TimeZoneAutomaticスケジュールの時刻帯
  • NotificationFunctionの目的で,出力が$FailedオブジェクトまたはFailureオブジェクトのときはタスクが失敗したとみなされる.
  • クラウドでは,スケジュールされたタスクが実行される正確な時刻は,一般に,負荷分散の必要条件によって決定される.
  • クラウドにおけるタスクを反復する際のタスクとタスクの間の最短時間は,クラウド設定とその指針によって決定される.一般に,1時間の何分の1かである.

例題

すべて開くすべて閉じる

  (4)

ローカルセッションでスケジュールされたタスクを作る:

Print出力はメッセージウィンドウに表示される.

タスクを削除する:

別のカーネルでスケジュールされたタスクを作る:

Print出力はメッセージウィンドウに表示される.

タスクを削除する:

次の1ヶ月間,タスクの所有者に毎日気温を電子メールで通知するスケジュールされたクラウドタスクを作る:

タスクを削除する:

日付と気温を1時間ごとに記録するスケジュールされたクラウドタスクを配備する:

このタスクを手動で実行してスケジュールされている次の実行を待たずにテストする:

過去の結果のリストを取り出す:

タスクを削除する:

スコープ  (9)

時間指定  (9)

スケジュールがないタスクを作成する:

手動でタスクをトリガする:

タスクを削除する:

timespecNowを使って即座に実行されるタスクを現行のカーネルセッションで送信する:

このタスクは自動的に削除される:

即座に実行されるタスクをクラウドに送信する:

タスクは実行後はクラウドからなくなる:

スケジュールがないタスクを配備する:

CloudDeployではなくCloudSubmitで作成した)タスクは,配備され実行された後もクラウドに存在し続ける:

配備したタスクを削除する:

実行の進捗状況を表示しながら合計10回毎秒実行されるタスクを作成する:

明日からカウントダウンの電子メールを毎日送信するタスクを配備する:

このタスクを検査するために,すぐに実行するようにトリガする:

タスクを削除する:

1年の終りまで毎日カウントダウンの電子メールを送信するタスクを配備する:

このタスクを検査するために,すぐに実行するようにトリガする:

タスクを削除する:

明日から始めて1年の終わりまで毎日カウントダウンの電子メールを送信するタスクを配備する:

このタスクを検査するために,すぐに実行するようにトリガする:

タスクを削除する:

1週間の特定の曜日の午前7時に実行されるタスクを作成する:

次の実行曜日が想定通りであることを確認する:

タスクを削除する:

"cronspec"指定を使って週日に金融商品の始値を記録するようにスケジュールされたタスクを作成する:

タスクを削除する:

毎日1回クラウド内でタイムスタンプを更新するようにスケジュールされたクラウドタスクを作成する:

現在のタイムスタンプを取得する:

TaskExecuteを使ってスケジュールされたタスクのクラウドオブジェクトを実行する:

タイムスタンプが更新された:

タスクを削除する:

一般化と拡張  (1)

TaskSuspendを使って,クラウドのスケジュールされたタスクの実行を一時停止する:

タスクを削除する:

オプション  (1)

NotificationFunction  (1)

通知によって,指定されたグループの人々にタスク評価のステータスのメッセージを送ることができる.毎回実行後に複数のグループに通知するタスクを配備する:

タスクが非同期実行されるようにする:

タスクが再度実行されるようにする:

タスクを削除する:

アプリケーション  (1)

スケジュールされたタスクに基づいて警告の電子メールを送るアプリケーションを作る:

毎日午後6時に評価し,翌日の月相をチェックするようにスケジュールされたタスクを作る:

タスクを削除する:

考えられる問題  (2)

数値を含む時刻指定は曖昧に見えることがある:

明示的な周期と反復回数を指定することで曖昧さを解決する:

タスクを削除する:

暦に合わせる名前付きの周期の"Monthly"および"Yearly"は,配備された日付が次の月(年)には存在しない場合は,その月(年)には実行されない(例:"Yearly"タスクが2月29日に配備された場合):

タスクを削除する:

この問題を避けるためには,月末に向けて問題が起こりうる日付を避けるように開始する日付を制御するとよい:

Wolfram Research (2014), ScheduledTask, Wolfram言語関数, https://reference.wolfram.com/language/ref/ScheduledTask.html (2017年に更新).

テキスト

Wolfram Research (2014), ScheduledTask, Wolfram言語関数, https://reference.wolfram.com/language/ref/ScheduledTask.html (2017年に更新).

CMS

Wolfram Language. 2014. "ScheduledTask." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2017. https://reference.wolfram.com/language/ref/ScheduledTask.html.

APA

Wolfram Language. (2014). ScheduledTask. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ScheduledTask.html

BibTeX

@misc{reference.wolfram_2024_scheduledtask, author="Wolfram Research", title="{ScheduledTask}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/ScheduledTask.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_scheduledtask, organization={Wolfram Research}, title={ScheduledTask}, year={2017}, url={https://reference.wolfram.com/language/ref/ScheduledTask.html}, note=[Accessed: 21-November-2024 ]}