Class: Task

@nginstack/engine/lib/scheduler/Task~ Task


new Task()

Classe que cria e agenda tarefas.

Todas as tarefas criadas por esta classe passam a ser consideradas internas (locais). Todas as tarefas são do tipo retry, ou seja, em caso de falha serão executadas novamente dentro de 1(um) minuto. As tarefas criadas podem ser vistas no Agendador de Scripts. /Admin/Agendador de Scripts.

Example
const task = new Task();
task.period = 'DAILY';
task.name = 'teste';
task.scriptKey = 12345678;
task.saveLocally();

Members


date :Date

Data quando a tarefa deverá ser executada.

Type:
  • Date

day :number

Define a propriedade dia. Se o período a ser executado for semanalmente este parâmetro corresponde ao dia da semana, sendo "0" o valor de domingo, se o período for "mensalmente" então o parâmetro significa o dia do mês que a tarefa será executada, o valor iniciará em "1" normalmente.

Type:
  • number
Example
task.period = 'MONTHLY';
task.day = 1; //dia primeiro do mês

task.period = 'WEEKLY';
task.day = 0; //domingo

dbName :string

Base de dados ao qual esta tarefa pertence.

Type:
  • string

enabled :boolean

Indica se a tarefa está habilitada.

Type:
  • boolean

hour :string|number

Hora quando a tarefa deverá ser executada.

Quando informada uma string, atribui-se hora, minuto e segundo no formato hh:mm:ss, quando um number, atribui-se apenas a hora.

Type:
  • string | number

id :string

Identificador único da tarefa no sistema.

Type:
  • string

lastExecution :Date

Data e hora do fim da última execução da tarefa.

Type:
  • Date

name :string

Nome da tarefa.

Type:
  • string

nextExecution :Date

Data e hora do início da próxima execução da tarefa.

Type:
  • Date

period :string

Define o período em que será executado a tarefa. Função obrigatória para criação da tarefa. São eles: "daily", "monthly", "weekly", "interval", "once" e "yearly".

Type:
  • string

preRequisiteTask :string

Id da tarefa que será pré-requisito para a execução desta tarefa.

Type:
  • string

scheduled :Date

Data e hora em que a tarefa foi agendada.

Type:
  • Date

scriptKey :number

Chave do script que será executado quando a tarefa iniciar.

Type:
  • number

scriptName :string

Caminho completo do script a ser executado na Virtual File System.

Type:
  • string
Deprecated:
  • Utilize a propriedade #scriptURI.

scriptURI :string

URI do script da Virtual File System ou da Union File System que será executado por esta tarefa.

A URI deve indicar o esquema da Virtual File System por meio do prefixo "vfs:" ou da Union File System com "ufs:".

Type:
  • string
Example
const Task = require('@nginstack/engine/lib/scheduler/Task');

const task = new Task();
task.name = 'Echo test';
task.period = 'interval';
task.hour = '00:10';
task.scriptURI = 'ufs:/engine_modules/@nginstack/engine/scripts/echo.js';
task.setParameters('value', 'ok');
task.saveLocally();

status :string

Status atual da tarefa. São eles: 'Running', 'Stopped' e 'Aborting'.

Type:
  • string

textParameters

Define um parâmetro ou conjunto de parâmetros que serão passados para o script da seguinte forma: nome e valor em uma única string. Para passar mais de um valor é necessário separá-los por \r\n ou 'enter'. Caso seja passado um parâmetro de mesmo nome na função setParameters, o valor passado nessa função será sobrescrito pela setParameters. Não é possível passar objetos por meio desta propriedade.

See:
Examples
task.textParameters = "data = 'value'";
tarefa.textParameters = "\
   date='19/11/2013'\
   data='value'\
   data1='33'\
 ");

userKey

Chave do usuário que criou a tarefa.

Methods


del()

Deleta a tarefa criada.


saveLocally( [userId] [, password])

Salva a tarefa no banco local.

Parameters:
Name Type Argument Description
userId string <optional>

Nome ou e-mail do usuário que será utilizado para executar a tarefa. 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 a tarefa.


setParameters(name, value)

Define os parâmetros que serão passados para o script executado pela tarefa. Caso seja passado um parâmetro de mesmo nome na função setTextParameters, o valor será sobrescrito pelo informado pela setParameters. Com essa função é possível passar parâmetros que podem ser serializados como, por exemplo, um DataSet. Não há limite para o número de parâmetros, desde que, passando-se nome e valor, respectivamente, como no exemplo.

Parameters:
Name Type Argument Description
name string

Nome do parâmetro.

value string | number | boolean | Record.<*, *> <repeatable>

Valor relativo ao parâmetro antecedente.

See:
Returns:

Quantidade de bytes utilizados para armazenar os parâmetros na tarefa.

Type
number
Example
task.setParameters('empresa', 'MyCompany');
task.setParameters('empresa', 'MyCompany', 'cnpj', 123456, 'idade', 21, 'dataSet', ds);

start()

Inicia a execução da tarefa.


stop()

Aborta a execução de uma tarefa. A execução do stop é assíncrona, ou seja, o método retorna sem ter garantia que a tarefa foi abortada.