Class: Job

@nginstack/engine/lib/scheduler/Job~ Job


new Job( [source])

Esta classe é responsável por criar jobs que permitem a execução agendada de scripts.

Parameters:
Name Type Argument Description
source DataSet | File | MemoryStream <optional>

Objeto opcional utilizado para restaurar a tabela. Utilize-o quando quiser recuperar um Job persistido anteriormente pelos métodos #saveToStream ou saveToTable.
Importante: classe em construção. Não a utilize.

See:

Members


<readonly> authTokenId :string

Id do token de autenticação utilizado para autorizar este Job. O Job deve ser autorizado pelos métodos Security#authorizeJob ou Session#authorizeJob.

Type:
  • string

classKey :number

Chave da classe do job.

Type:
  • number

<readonly> creation :Date

Data e hora em que o job foi criado.

Type:
  • Date

date :Date

Data da próxima execução do job.

Type:
  • Date

dateTime :Date

Data e hora da próxima execução do job.

Type:
  • Date
Example
var job = new Job();
 job.dateTime = (new Date) + 31;

enabled :boolean

Define se o job está habilitado para execução. True, se estiver habilitada.

Type:
  • boolean

<readonly> finished :Date

Data e hora em que a execução foi concluída.

Type:
  • Date

<readonly> finishedSuccessfully :boolean

Indica se a ultima execução foi concluída com sucesso. True, se concluiu com sucesso.

Type:
  • boolean

frequency :string

Indica a frequência em que o job deverá ser executado. Valores possíveis:

  • 'once'
  • 'interval'
  • 'daily'
  • 'weekly'
  • 'monthly'
  • 'yearly'

Importante: jobs com frequência once serão excluídos automaticamente após uma execução bem sucedida.
Type:
  • string
Example
var job = new Job();
 job.frequency = 'daily';

frequencyKey :number

Chave da frequência em que o job será executado. Será retornado um registro da classe Frequências de scripts agendados (-1898145108).

Type:
  • number
Example
var job = new Job();
 job.frequencyKey = -1898145061; // Diário;

host :number

Indica qual Engine deve executar este Job. Deve ser informada uma chave da classe Engines (-1898145089).

Type:
  • number

hour :string

Hora em que o job será executado.

Type:
  • string
Example
var job = new Job();
 job.hour = '06:00';

<readonly> id :string

Código identificador e único do job.

Type:
  • string

<readonly> key :number

Chave identificadora do job no banco de dados.

Type:
  • number

<readonly> lastResult :string

Resultado da ultima execução do job. O resultado de um job será o último valor deixado na pilha pelo script.

Type:
  • string

monthDay :number

Dia do mês em que o job deve ser executado. Caso o mês não possua o dia informado o job será executado no ultimo dia do mês.

Type:
  • number
Example
var job = new Job();
 job.monthDay = 15;

name :string

Nome da job.

Type:
  • string

<readonly> nextExecution :Date

Data e hora de quando ocorrerá a próxima execução.

Type:
  • Date

prerequisiteTask :string

Id do job que deve ser concluído com sucesso antes de iniciar este job.

Type:
  • string

<readonly> scheduled :Date

Data e hora em que o job foi agendado.

Type:
  • Date

scriptURI :string|number

Chave ou URI do script a ser executado.

Type:
  • string | number
Example
var job = new Job();
 job.scriptURI = -1898145715; //Engine/scripts/system/echo.js;

<readonly> started :Date

Data e hora em que a execução foi iniciada.

Type:
  • Date

<readonly> status :string

String contendo o estado atual do job. Valores possíveis:

  • 'aborting'
  • 'running'
  • 'stopped'
Type:
  • string

<readonly> statusKey :number

Chave do estado em que o job se encontra. Será retornado um registro da classe Status de scripts agendados (-1898145055).

Type:
  • number

<readonly> userKey :number

Chave do usuário utilizado na execução do job. Todas as consultas e alterações no banco de dados serão registrados em nome deste usuário.

Type:
  • number

weekDay :number

Dia da semana em que o job será executado. Valores possíveis:

  • 0: Domingo
  • 1: Segunda
  • 2: Terça
  • 3: Quarta
  • 4: Quinta
  • 5: Sexta
  • 6: Sábado
Type:
  • number
Example
var job = new Job();
 job.weekDay = (new Date).getDay();

Methods


calcNextExecution()

Calcula quando será a próxima execução do job e define a propriedade #nextExecution com a data e hora calculada.

Example
var job = new Job();
job.time = '06:00';
job.frequency = 'daily';
job.calcNextExecution();
var nextExecution = job.nextExecution;

loadFromStream(stream)

Carrega um job a partir de um objeto do tipo MemoryStream ou File.

Parameters:
Name Type Description
stream MemoryStream | File

Objeto a partir do qual o job será criado.


loadFromTable(table)

Restaura o job a partir de um DataSet.

Parameters:
Name Type Description
table DataSet

DataSet a partir do qual o job será restaurado.


saveToStream(stream)

Persiste este job em um objeto do tipo MemoryStream ou File.

Parameters:
Name Type Description
stream MemoryStream | File

Objeto onde o job será gravado.


saveToTable(table)

Persiste este job em um DataSet. O dataSet deve ter a mesma estrutura da tabela definida pela classe Script Agendados (-1898145133).

Parameters:
Name Type Description
table DataSet

DataSet no qual o job será persistido.