Filas de Mensagens

RabbitMQ e Redis

Conectar RabbitMQ

queue.rabbitmq_connect

Conecta ao servidor RabbitMQ

Como usar

Conecta a um servidor RabbitMQ (usuário e senha do cofre, virtual host e TLS opcionais) e guarda a conexão para publicar e consumir mensagens.

Exemplo: Conecte a mq.empresa.local com o usuário robo em {rabbitmq}.

Campos

CampoTipoPadrãoDetalhes
Servidor *Texto
PortaNúmero5672
UsuárioTextoguest
Senha (cofre)Credencial do cofre
Salvar a conexão na variável *Variável de saídarabbitmq
+ Avançado (2)
CampoTipoPadrãoDetalhes
Virtual hostTexto/
Usar TLS (porta 5671)Sim/NãoNão

Resultado: guardado na variável rabbitmq (Objeto).

Publicar Mensagem

queue.rabbitmq_publish

Publica mensagem na fila

Como usar

Publica uma mensagem numa fila (criada se não existir). Dicionários e listas são enviados como JSON. Útil para distribuir trabalho entre robôs.

Exemplo: Publique {pedido} na fila pedidos_para_faturar.

Campos

CampoTipoPadrãoDetalhes
Conexão *Variávelrabbitmq
Fila *Texto
Mensagem *TextoTexto, ou variável com dicionário/lista (vai como JSON)
+ Avançado (2)
CampoTipoPadrãoDetalhes
Fila durável (sobrevive a reinício)Sim/NãoSim
Mensagem persistenteSim/NãoSim

Consumir Mensagem

queue.rabbitmq_consume

Consome próxima mensagem

Como usar

Pega a próxima mensagem da fila, podendo esperar alguns segundos, e já converte JSON em dicionário. Se a fila estiver vazia, devolve vazio (None).

Exemplo: Consuma de pedidos_para_faturar esperando 10 s; se {message} vier vazio, encerre.

Campos

CampoTipoPadrãoDetalhes
Conexão *Variávelrabbitmq
Fila *Texto
Esperar até (0 = não esperar)Número0 s
Converter JSON em dicionário/listaSim/NãoSim
Salvar resultado na variável *Variável de saídamessageVazio (None) se nenhuma mensagem chegar
+ Avançado (1)
CampoTipoPadrãoDetalhes
Fila durável (sobrevive a reinício)Sim/NãoSim

Resultado: guardado na variável message (Qualquer).

Conectar Redis

queue.redis_connect

Conecta ao servidor Redis

Como usar

Conecta a um servidor Redis (senha do cofre, banco, usuário e TLS opcionais) e guarda a conexão.

Exemplo: Conecte a redis.empresa.local banco 0 em {redis}.

Campos

CampoTipoPadrãoDetalhes
Servidor *Texto
PortaNúmero6379
Senha (cofre)Credencial do cofre
Número do bancoNúmero0
Salvar a conexão na variável *Variável de saídaredis
+ Avançado (2)
CampoTipoPadrãoDetalhes
Usuário (ACL do Redis 6+)Texto
Usar TLSSim/NãoNão

Resultado: guardado na variável redis (Objeto).

Redis Definir

queue.redis_set

Define chave/valor

Como usar

Grava um valor numa chave, com expiração opcional em segundos. Dicionários e listas viram JSON. Bom para estado compartilhado entre robôs e controle de duplicidade.

Exemplo: Grave pedido:{numero} = "processado" com expiração de 86400 s.

Campos

CampoTipoPadrãoDetalhes
Conexão *Variávelredis
Chave *Texto
ValorTextoTexto, ou variável com dicionário/lista (gravado como JSON)
Expirar após (0 = nunca)Número0 s

Redis Obter

queue.redis_get

Obtém valor por chave

Como usar

Lê o valor de uma chave (convertendo JSON), com um valor padrão se ela não existir.

Exemplo: Leia pedido:{numero}; se vier "processado", pule o pedido.

Campos

CampoTipoPadrãoDetalhes
Conexão *Variávelredis
Chave *Texto
Converter JSON em dicionário/listaSim/NãoSim
Salvar resultado na variável *Variável de saídavalue
+ Avançado (1)
CampoTipoPadrãoDetalhes
Valor padrão (se a chave não existir)Texto

Resultado: guardado na variável value (Qualquer).

Redis Publicar

queue.redis_publish

Publica em canal Pub/Sub

Como usar

Publica uma mensagem num canal Pub/Sub do Redis e pode guardar quantos assinantes a receberam.

Exemplo: Publique "lote {lote} concluído" no canal robos:avisos.

Campos

CampoTipoPadrãoDetalhes
Conexão *Variávelredis
Canal *Texto
Mensagem *TextoTexto, ou variável com dicionário/lista (vai como JSON)
Salvar o nº de assinantes que receberam na variávelVariável de saída

Resultado: guardado na variável escolhida (Número).