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
 }

isEdgeServer()

Verifica se o Engine corrente foi configurado como servidor de borda.

Todos os Engines sem acesso direto ao SGBD são considerados servidores de borda por este método, inclusive os Engines clientes instalados em computadores pessoais.

Returns:

Indica se o Engine remoto está configurado como servidor de borda.

Type
boolean

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.