moleculer repl
O moleculer-repl é um console interativo de desenvolvedor para Moleculer.
Instalação
npm i moleculer-repl |
Utilização
Alternar broker para modo REPL
const broker = new ServiceBroker(); |
Comandos REPL
Commands: |
Listar nós
mol $ nodes |
Opções
-a, --all lista todos os nós (offline) |
Saída
Saída detalhada
Listar serviços
mol $ services |
Opções
-a, --all lista todos os serviços (offline) |
Saída
Saída detalhada
Listar ações
mol $ actions |
Opções
-a, --all listar todas as ações (offline) |
Saída
Saída detalhada
Listar eventos
mol $ events |
Opções
-a, --all listar todos os ouvintes de eventos (offline) |
Saída
Saída detalhada
Mostrar informações comuns
mol $ info |
Saída
Listar variáveis de ambiente
mol $ env |
Executar uma ação
mol $ call "test.hello" |
Saída
Opções
--help mostra informações de utilização |
Executa uma ação com parâmetros
mol $ call "math.add" --a 5 --b Bob --c --no-d --e.f "hello" |
Parâmetros serão { a: 5, b: 'Bob', c: true, d: false, e: { f: 'hello' } }
Chamar uma ação com params, meta & options
mol $ call "math.add" --a 5 --#b Bob --$timeout 1 |
Os parâmetros serão { a: 5 }
, meta será { b: 'Bob' }
e as opções serão { timeout: 1 }
.
Executar com uma string JSON como parâmetro
mol $ call "math.add" '{"a": 5, "b": "Bob", "c": true, "d": false, "e": { "f": "hello" } }' |
Parâmetros serão { a: 5, b: 'Bob', c: true, d: false, e: { f: 'hello' } }
Executar com parâmetros de arquivo
mol $ call "math.add" --load |
Ele tenta carregar o arquivo <current_dir>/math.add.params.json
para a variável params.
mol $ call "math.add" --load my-params.json |
Tenta carregar o arquivo my-params.json
para a variável params.
Executa com stream de arquivo
mol $ call "math.add" --stream my-picture.jpg |
Carrega o arquivo my-picture.png
e envia para a ação math.add
como um Stream
.
Executar e salvar a resposta em arquivo
mol $ call "math.add" --save |
Salva a resposta no arquivo <current_dir>/posts.find.response.json
. A extensão é .json
quando a resposta for object
. Caso contrário é .txt
.
mol $ call "math.add" --save my-response.json |
Salva a resposta para o arquivo my-response.json
.
Chamada direta
Obter informações de saúde do nó node-12
mol $ dcall "node-12" "$node.health" |
Passagem de parâmetros é semelhante ao comando
call
.
Emitir um evento
mol $ emit "user.created" |
Emitir um evento com parâmetros
mol $ emit "user.created" --a 5 --b Bob --c --no-d --e.f "hello" |
Parâmetros serão { a: 5, b: 'Bob', c: true, d: false, e: { f: 'hello' } }
Emitir um evento com parâmetros & metadados
mol $ emit "user.created" --a 5 --#b Bob --$groups acb |
Os parâmetros serão { a: 5 }
, meta será { b: 'Bob' }
e as opções serão { groups: acb }
.
Performance de um serviço
O módulo Moleculer REPL possui um novo comando para medir a performance de seus serviços.
# Executa um serviço até 5 segundos (padrão) |
Opções
--num <number> Número de iterações |
Saída
Parâmetros
Por favor, note que os parâmetros podem ser passados apenas como string JSON.
mol $ bench math.add '{ "a": 50, "b": 32 }' |
Carregar um serviço de um arquivo
mol $ load "./math.service.js" |
Carregar todos os serviços de uma pasta
mol $ load "./services" |
Listar métricas
mol $ metrics |
Opções
-f, --filter <match> filtra métricas (ex.: 'moleculer.**') |
Saída
Chaves de cache
Você pode listar as chaves de entradas de cache com
mol $ cache keys |
Opções
-f, --filter <match> filtra as chaves |
Limpar cache
Você limpa o cache com:
mol $ cache clear |
isto por padrão remove todas as entradas. Se você quiser remover um subconjunto de entradas, deverá adicionar um padrão
:
Limpar com padrão
mol $ cache clear greeter.* |
Eventos
REPL pode assinar e ouvir eventos. Para assinar utilize:
mol $ listener add user.created |
Inscrever-se com a opção de grupo
mol $ listener add user.created --group abcd |
Para cancelar a assinatura, use:
mol $ listener remove user.created |
Para listar todos os eventos que REPL está ouvindo usar
mol $ listener list |
Comandos personalizados
Os comandos personalizados do REPL podem ser definidos nas opções do broker para estender os comandos Moleculer REPL.
// moleculer.config.js |
mol $ hello -u John |