Pergunta
· Mar. 4, 2021

Task

Estou tentando executar uma tarefa pelo terminal, utilizando:

set test=##class(%SYS.TaskSuper).%New()

d test.RunNow(1), passando o ID da tarefa, para executa-lá, porém ela não executa. 

Qual seria um outro jeito para que eu consiga realizar essa execução pelo terminal? 

Product version: Caché 2017.1
$ZV: 2017.2.2 (Build 865_0_18359U)
Discussão (5)0
Entre ou crie uma conta para continuar

Boa tarde,

Sim é possível executando através do hyperevento. 

Executando um hyperevento o código vai rodar no servidor e não no browser.

https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY...

Segue um teste que fiz aqui:

Class teste.NewClass2 Extends %CSP.Page [ ProcedureBlock ]
{ ClassMethod OnPage() As %Status
{    &html<<html>
   <head>
   <script language=javascript>
   function onServer(ID)
   {
      alert(#server(..ServerMethod(ID))#);
   }
   </script>
   #(..HyperEventHead())#
   </head>
   <body>
   <input type=button name = "Button" value="1000" onclick='onServer(value)' />
   </body>
   </html>>
   Quit $$$OK
} ClassMethod ServerMethod(ID As %String)
{
   do ##class(%SYS.Task).RunNow(ID)
} }

Abraços,

Fernando