Rubrica do InterSystems FAQ
Aqui, vamos introduzir um código de exemplo para registrar e referenciar agendas de tarefas.
①Exemplo de registro de agenda de tarefa
*Crie uma tarefa para executar ^TEST todos os dias à 1:00 da manhã.
set task=##class(%SYS.Task).%New()
set task.Name="MyTask1"
set task.Description="Execute ^xxx every day at 1:00 AM" // Optional
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") // Set ExecuteCode for RunLegacyTask
write task.%Save()
② Exemplo de referência de agenda de tarefa.
*Os conteúdos registrados nessa tarefa são obtidos programaticamente
USER>set task=##class(%SYS.Task).%OpenId(1)
USER>zwrite task
task=<object reference="">[14@%SYS.Task]
:
+----------------- attribute values ------------------
| %Concurrency = 1
| DailyEndTime = 0
| DailyFrequency = 0
| DailyFrequencyTime = ""
| DailyIncrement = ""
| DailyStartTime = 0
| DayNextScheduled = 63877
| DeleteAfterRun = 0
| Description = "Journal files are switched at midnight every day."
:
// If you want to refer to individual items, do the following:
USER>write $ZDT(task.DayNextScheduled)
11/21/2015
USER>write task.Name
Journal switching
USER>