Class: Engine

@nginstack/engine/lib/engine/Engine~ Engine


new Engine()

Representa o Engine em execução. Tem a finalidade de agrupar os componentes globais e comuns a todos os ambientes JavaScript.

Esta classe não possui construtor, estando disponível apenas através da variável global "engine".

Members


applicationFileName :string

Nome do arquivo executável do Servidor Engine.

Type:
  • string

applicationPath :string

Diretório onde são armazenados os arquivos de dados permanentes do Engine. Nos cenários mais comuns, equivale ao diretório onde o Engine está instalado, mas isso não é obrigatório em cenários de uso mais avançadas. O caminho retornado é terminado por um caractere separador de Paths.

Type:
  • string
Deprecated:
  • Utilize #dataDir ou #programDir.

arch :string

Nome de identificação da arquitetura alvo de processador do executável. Possíveis valores são 'x64' e 'ia32'.

Type:
  • string

args :Array.<string>

Array contendo os argumentos informados ao executável "engine" quando ele foi iniciado, normalmente passados via linha de comando.

Type:
  • Array.<string>
Example
// Command line: ./engine https://example.com EXAMPLE -nu
engine.args[0]; // => 'https://example.com'
engine.args[1]; // => 'EXAMPLE'
engine.args[2]. // => '-nu'

dataDir :string

Diretório onde são armazenados os arquivos de dados permanentes do Engine. Ele é definido por meio do parâmetro de linha de comando passado na inicialização do Engine --appdatadir ou da variável de ambiente NGIN_APP_DATA_DIR. Se não for informado, é usado o diretório onde o Engine está instalado. Também ele será o diretório corrente do Engine.

Type:
  • string

env :Object

Objeto representando um mapa com as variáveis de ambiente do sistema. Uma eventual alteração em uma de suas propriedades por um script fica restrita a sessão em execução, não se refletindo nas variáveis de ambiente do processo do Engine no sistema operacional nem no objeto env das demais sessões ativas.

Type:
  • Object

instanceId :string

Id que identifica de forma única o servidor Engine que está executando este script.

Type:
  • string

java :JavaInfo

Objeto contendo informações do ambiente Java integrado ao Engine via JNI.

As propriedades do objeto estarão vazias caso não haja um Java instalado no sistema operacional ou se a versão instalada não for compatível com o sistema.

Type:
  • JavaInfo
See:
Example
if (engine.java.version) {
  logger.info('Java "%s" do fornecedor "%s" detectado pelo Engine em "%s", [
    engine.java.version, engine.java.vendor, engine.java.home]);
} else {
  logger.info('Não foi encontrada uma instalação do Java compatível com o sistema.')
}

keyCacheRange :number

Informa o tamanho dos blocos de chaves reservados. O Engine mantém localmente uma reserva de chaves novas para serem usadas na criação de novos registros. Quando essa reserva fica menor do que o valor de keyCacheRange, o Engine aloca no Servidor da Base um novo bloco de chaves

Type:
  • number

localAddress :string

Endereço IP do Servidor Engine.

Type:
  • string

localHost :string

Nome de Rede do Servidor Engine.

Type:
  • string

localPort :number

Porta HTTP do Servidor Engine.

Type:
  • number

logDir :string

Diretório onde são armazenados os arquivos de logs do Engine. Ele é definido por meio do parâmetro de linha de comando passado na inicialização do Engine --applogdir ou da variável de ambiente NGIN_APP_LOG_DIR. Se não for informado, é usado o subdiretório logs do diretório definido em #dataDir.

Type:
  • string

platform :string

Nome de identificação da plataforma. Possíveis valores são 'win32' e 'linux'.

Type:
  • string

processId :number

Identificador do processo do servidor engine em execução.

Type:
  • number

programDir :string

Diretório onde estão instalados o Engine, suas bibliotecas e executáveis complementares. Observe que em alguns cenários de uso, ela pode ser diferente de #dataDir.

Type:
  • string

progressMonitor :ProgressMonitor

Monitor do progresso das tarefas em execução dos threads ativos.

Type:
See:

sessionManager :SessionManager

Gerenciador de sessões JavaScript do Engine.

Type:
See:

smallTempDir :string

Diretório onde são armazenados os arquivos temporários de tamanho reduzido do Engine. Ele é definido através da mesma configuração de #tempDir. Se não for informado, seu valor default no Windows é o mesmo de #tempDir, porém no Linux ele é diferente, sendo este um subdiretório de /tmp.

Type:
  • string
See:

startTime :Date

Data/Hora que o Servidor Engine iniciou.

Type:
  • Date

tempDir :string

Diretório onde são armazenados os arquivos temporários do Engine. Ele é definido por meio do parâmetro de linha de comando passado na inicialização do Engine --apptempdir ou da variável de ambiente NGIN_APP_TEMP_DIR. Se não for informado, no Windows é usado o subdiretório tmp do diretório definido em #dataDir, e no Linux é usado um subdiretório de /var/tmp.

Type:
  • string
See:

version :string

O número da versão do servidor Engine.

Type:
  • string

versionInfo :VersionInfo

Propriedades da versão definidas no resource do executável.

Type:
  • VersionInfo
See:

Methods


discardEndpointInfoCache()

Descarta o cache de informações das capacidades conhecidas dos outros Engines aos quais este Engine se conectou.

Este é um método avançado que em situações normais de uso não deve ser utilizado. Ele deve ser empregado apenas quando for conhecido que um Engine remoto tenha sido atualizado e quando as capacidades da nova versão desse Engine são requeridas imediatamente.


exit( [exitCode] [, delay])

Encerra o Engine após o delay informado em segundos.

Parameters:
Name Type Argument Description
exitCode number <optional>

Código de saída do Engine para o sistema operacional.

delay number <optional>

Atraso em milissegundos solicitar o encerramento do Engine. Caso não seja informado, será finalizado imediatamente.


getPorts()

Retorna um array de objetos com as portas disponíveis no engine, onde, cada objeto informa a porta, endereço e o protocolo usado. As propriedades do objeto são: "port" que retorna a porta, address que retorna o endereço associado a porta e "protocol" que retorna o protocolo daquela porta.

Returns:
Type
Array.<Object>
Example
const ports = engine.getPorts();
 if (ports.length > 0) {
   return ar[0].port + ' ' + ar[0].protocol + ' ' + ar[0].address
 }

osRun(command, opt_wait, opt_commandShow)

Cria um novo processo do S.O., executando o aplicativo

Parameters:
Name Type Description
command string

Comando a ser executado

opt_wait boolean

Se "true", a função retorna apenas depois que o processo termina a sua execução.

opt_commandShow string

Indica a forma como a janela do processo criado deve ser exibida. Os valores possíveis são HIDE, SHOW, MINIMIZE e MAXIMIZE

Deprecated:
Returns:

Se wait = true, retorna o código de retorno do processo. Caso contrário, retorna 0 se falhou e diferente de 0 se foi sucesso.

Type
number

restart( [delay])

Solicita o reinício do Engine após o delay informado em segundos.

Parameters:
Name Type Argument Description
delay number <optional>

Atraso em milissegundos para reiniciar o Engine. Caso não seja informado, será solicitado o reinício imediato.


setKioskMode(kioskMode)

Configura o engine para chamar o browser em modo kiosk. Por padrão ele está desabilitado.

Parameters:
Name Type Description
kioskMode boolean

Se true habilita o modo kiosk.