記事
· 2021年9月29日 2m read

プログラミングでタスクスケジュールを登録・参照する方法

これは InterSystems FAQ サイトの記事です。

こちらでは、タスクスケジュールを登録・参照するサンプルコードをご紹介します。

①タスクスケジュール登録のサンプル

※毎日 am1:00に do ^TEST を実行するタスクを作成します。 

 

 set task=##class(%SYS.Task).%New()
 set task.Name="MyTask1"
 set taskDescription="毎日夜中1:00に^xxx実行" // 任意
 set task.NameSpace="USER"
 set task.TimePeriod=0
 set task.DailyFrequency=0
 set task.DailyFrequencyTime=""
 set task.DailyIncrement=""
 set task.DailyStartTime=$ZTimeh("01:00:00")
 set task.DailyEndTime=""
 set task.TaskClass="%SYS.Task.RunLegacyTask"
 set task.Settings=$LB("ExecuteCode","do ^TEST") // RunLegacyTask の場合は ExecuteCode を設定 
 write task.%Save()

 

②タスクスケジュール参照のサンプル  
※タスクスケジュールに登録された内容をプログラムで取得します。

 

USER>set task=##class(%SYS.Task).%OpenId(1) USER>zwrite tasktask=<object reference="">[14@%SYS.Task]

+----------------- attribute values ------------------
| %Concurrency = 1
| DailyEndTime = 0
| DailyFrequency = 0
| DailyFrequencyTime = ""
| DailyIncrement = ""
| DailyStartTime = 0
| DayNextScheduled = 63877
| DeleteAfterRun = 0
| Description = "毎日零時にジャーナルファイルの切り替えを行います"

// 個別に項目を参照したい場合は以下のように行います
USER>write $ZDT(task.DayNextScheduled)
11/21/2015
USER>write task.Name
ジャーナル切り替え
USER>

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください