new Scheduler()
Classe que permite o agendamento da execução de scripts.
A execução agendada de um script é útil para permitir a execução automática de processos rotineiros. Ela também é útil para implementar operações off-line, permitindo que um script que não possa ser executado em um momento de indisponibilidade do banco de dados ou conexão possa ser executado posteriormente quando a conexão for restabelecida.
Um script agendado não tem acesso à interface com o usuário, nem tem acesso às variáveis
request
e response
. Ele deve ser desenvolvido com essas restrições e um
eventual resultado a ser comunicado para o usuário deve ser realizado por meio de logs,
arquivos, email ou alterações na base de dados.
Members
-
failingTaskCount :number
-
Quantidade de scripts agendados no Engine corrente que falharam na última execução.
Type:
- number
-
maxConcurrentTaskCount :number
-
Quantidade de scripts que serão executados concorrentemente pelo scheduler. Por padrão, o Engine permite a execução de quatro scripts.
Type:
- number
-
maxSimultaneousTasks :number
-
Propriedade legada equivalente a
maxConcurrentTaskCount
.Type:
- number
- Deprecated:
-
- Utilize ´maxConcurrentTaskCount`.
-
runningTaskCount :number
-
Quantidade de scripts em execução no agendador de scripts do Engine corrente.
Type:
- number
-
taskCount :number
-
Quantidade de scripts agendados no Engine corrente.
Type:
- number
Methods
-
<static> getInstance()
-
Obtém uma instância compartilhada desta classe.
Returns:
- Type
- Scheduler
-
delTasks(taskIds [, userId] [, password])
-
Remove as tarefas informadas por meio do seu identificador único, obtido na coluna "iUniqueId" do DataSet retornado pelo método getTasks.
Parameters:
Name Type Argument Description taskIds
string | Array.<string> Identificador único das tarefas a serem removidas.
userId
string <optional>
Nome ou e-mail do usuário que será utilizado para remover as tarefas. Caso não seja informado, será utilizado o usuário corrente da sessão.
password
string <optional>
Senha do usuário que será utilizado para remover as tarefas.
-
getCurrentTaskId()
-
Obtém o identificador único da tarefa em execução no ambiente corrente JavaScript.
Se o ambiente JavaScript corrente não for associado a uma tarefa do
Scheduler
, será retornadonull
.Returns:
Identificador único da tarefa em execução ou
null
caso não haja uma.- Type
- string
Example
const taskId = scheduler.getCurrentTaskId(); if (taskId) { const task = scheduler.getTaskById(taskId); task.name; // => 'Task name' } else { throw new Error('Id da tarefa está disponível apenas durante a execução do script agendado'.); }
-
getTasks()
-
Obtém todos os scripts agendados no Engine corrente. O esquema de campos do dataSet retornado é similar ao da classe Scripts Agendados (-1898145133).
Returns:
Scripts agendados no Engine.
- Type
- DataSet
-
saveTasks(tasks [, userId] [, password])
-
Efetiva as alterações realizadas no dataSet
tasks
, obtido previamente por meio do método getTasks.Parameters:
Name Type Argument Description tasks
DataSet Tarefas a serem gravadas.
userId
string <optional>
Nome ou e-mail do usuário que será utilizado para executar as tarefas. Caso não seja informado, será utilizado o usuário corrente da sessão.
password
string <optional>
Senha do usuário que será utilizado para executar as tarefas.
-
startTasks(taskIds)
-
Inicia as tarefas informadas por meio do seu identificador único, obtido na coluna "iUniqueId" do DataSet retornado pelo método getTasks.
Parameters:
Name Type Description taskIds
string | Array.<string> Identificador único das tarefas a serem iniciadas.
-
stopTasks(taskIds)
-
Interrompe as tarefas informadas por meio do seu identificador único, obtido na coluna "iUniqueId" do DataSet retornado pelo método getTasks.
A interrupção de um script em execução não é imediata, pois nem todas as operações bloqueantes permitem a interrupção, como o acesso a drivers externos e o uso de APIs do sistema operacional.
Parameters:
Name Type Description taskIds
string | Array.<string> Identificador único das tarefas a serem interrompidas.