0.0.1 • Published 4 years ago
fvi-roboman-server v0.0.1
fvi-roboman-server
npm run compile
: Executa a limpeza dos arquivos e diretorios.npm run debug-test
: Executa os testes unitários com o DEBUG ativo.npm run test
: Executa os testes unitários.npm run debug-dev
: Executa os testes unitários e espera por alterações com o DEBUG ativo.npm run dev
: Executa os testes unitários e espera por alterçãoes.npm run prod
: Executa o código com NODE_ENV=production.npm run coverage
: Executa os testes unitários e retorna a cobertura dos códigos através do nycnpm run release
: Inicia uma nova release de versão incrementando o patch, git flow release start.npm run release:minor
: Inicia uma nova release de versão incrementando o minor, git flow release start.npm run release:major
: Inicia uma nova release de versão incrementando o major, git flow release start.npm run release:finish
: Finaliza a release, ou seja, realiza o git flow release finish.
FVI - Robot Management
Servidor que implementa o gerenciamento das inscrições, Camunda External Task Subscriptions, além de orquestrar a execução dos robôs que automatizam tarefas no camunda.
Configuração
A configuração deste servidor é realizada através de um, ou mais, arquivos JSON no diretório /config
. Podemos ter um arquivo de configuração para cada ambiente, e.g. development.json
, test.json
, etc.
O padrão JSON do arquivo de configuração segue o mesmo formato da configuração do node-convict.js, pois este sistema utiliza a dependência i-koa-server.
Configuration Doc
{
server: {
name: {
doc: 'Koa Server Name',
format: String,
default: 'unknown-koa-server',
env: 'KOA_SERVER_NAME',
arg: 'koa-server-name',
},
port: {
doc: 'Koa Server Port',
format: 'port',
default: 4000,
env: 'KOA_SERVER_PORT',
arg: 'koa-server-port',
},
version: {
doc: 'Koa Server Version',
format: String,
default: '1.0.0',
env: 'KOA_SERVER_VERSION',
arg: 'koa-server-version',
},
},
camunda: {
url: {
doc: 'Camunda URL',
format: 'url',
default: 'http://localhost:8080',
env: 'CAMUNDA_URL',
arg: 'camunda-url',
},
},
dynamoose: {
dynalite: {
doc: 'DynamoDB local with Dynalite!.',
format: Boolean,
default: false,
env: 'DYNAMO_LOCAL_WITH_DYNALITE',
arg: 'dynamo-local-with-dynalite',
},
accessKeyId: {
doc: 'AWS Access Key ID',
format: String,
default: 'fake-access-key',
env: 'AWS_ACCESS_KEY_ID',
arg: 'aws-access-key-id',
},
secretAccessKey: {
doc: 'AWS Secret Access Key',
format: String,
default: 'fake-secret-key',
env: 'AWS_SECRET_ACCESS_KEY',
arg: 'aws-secret-access-key',
},
region: {
doc: 'AWS DynamoDB Region',
format: String,
default: 'us-east-1',
env: 'AWS_REGION',
arg: 'aws-region',
},
prefix: {
doc: 'DynamoDB table prefix name.',
format: String,
default: '',
env: 'DYNAMO_TABLE_PREFIX',
arg: 'dynamo-table-prefix',
},
suffix: {
doc: 'DynamoDB table suffix name.',
format: String,
default: '',
env: 'DYNAMO_TABLE_SUFFIX',
arg: 'dynamo-table-suffix',
},
options: {
doc: 'The dynamoose options.',
format: Object,
default: {},
},
},
logger: {
level: {
doc: 'The application environment.',
format: ['trace', 'debug', 'info', 'warn', 'error', 'fatal'],
default: 'info',
env: 'LOG_LEVEL',
arg: 'log-level',
},
actors: {
doc: 'The actor system logger categories.',
format: '*',
default: null,
},
},
}
Mode de Usar
const server = require('fvi-roboman-server')
server()
.then(context => console.log(context))
.catch(error => console.error(error))
context
Object
Este é o Object que representa o contexto do servidor após ele ter sido iniciado, ou melhor, após a chamada da função server()
. Como no exemplo podemos ver esta função retorna uma Promise<Context>
.
Context
{
"server": {
"instance": {},
"info": {},
"env": {}
},
"workers": [],
"workerActor": {},
"serverActor": {}
}
server.instance
: Aqui temos a instância do servidor HTTP. Podemos somente acessar a funçãoserver.instance.close(): void
para fechar o servidor, ou melhor, fechar a conexão aberta.server.info
: Um Object com informações do servidor, comoinfo.name
einfo.version
.server.env
: Um Object com informações do ambiente do servidor, comoenv.port
, etc.workers
: Um Array com a lista de workers que foram iniciados na inicialização do servidor.workerActor
: Ator que disponibiliza funções para manipular os workers.serverActor
: Ator que disponibiliza a função de iniciar o servidor.
0.0.1
4 years ago