InglêsFrancêsEspanhol

favicon do OnWorks

queue_splitter3 - Online na nuvem

Execute o queue_splitter3 no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando queue_splitter3 que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


queue_splitter3 - consumidor PgQ que transporta eventos de uma fila para vários alvos
filas

SINOPSE


queue_splitter3 [interruptores] config.ini

DESCRIÇÃO


queue_spliter é o consumidor PgQ que transporta eventos da fila de origem para vários destinos
filas. O campo ev_extra1 em cada evento mostra para qual fila de destino ele deve ir.
(pgq.logutriga () coloca lá o nome da tabela.)

Um caso de uso é mover eventos do banco de dados OLTP para o servidor de processamento em lote. Usando
divisor de fila, é possível mover todos os tipos de eventos para processamento em lote com um
consumidor, assim, mantendo o banco de dados OLTP menos congestionado.

COMEÇO RÁPIDO


A configuração e o uso básicos do queue_splitter podem ser resumidos pelas seguintes etapas:

1. pgq deve ser instalado nos bancos de dados de origem e destino. Veja a página de manual do pgqadm para
detalhes. O banco de dados de destino também deve ter o esquema pgq_ext instalado.

2. edite um arquivo de configuração queue_splitter, digamos
queue_splitter_sourcedb_sourceq_targetdb.ini

3. criar filas de origem e destino

$ pgqadm.py ticker.ini create

4. iniciar o divisor de fila no modo daemon

$ queue_splitter3 queue_splitter_sourcedb_sourceq_targetdb.ini -d

5. começar a produzir e consumir eventos

CONFIG


comum • Configuração parâmetros
nome_do_trabalho
Nome do trabalho específico que o script executa. O script irá logar com este nome para
logdb / logserver. O nome também é usado como padrão para o nome do consumidor PgQ. Deveria ser
única.

arquivo pid
Localização do arquivo pid. Se não for fornecido, o script não tem permissão para daemonizar.

arquivo de log
Localização do arquivo de log.

loop_delay
Se o processo estiver em execução contínua, quanto tempo para dormir após cada loop de trabalho, em segundos.
Padrão: 1.

tempo de vida da conexão
Feche e reconecte as conexões de banco de dados mais antigas.

use_skylog
foo.

comum PgQ consumidor parâmetros
nome_da_fila
Nome da fila para anexar. Nenhum padrão.

nome_consumidor
ID do consumidor para usar ao se registrar. Padrão:% (job_name) s

divisor_queue parâmetros
src_db
Banco de dados de origem.

dst_db
Banco de dados de destino.

Exemplo configuração lima
[queue_splitter3]
job_name = queue_spliter_sourcedb_sourceq_targetdb

src_db = dbname = sourcedb
dst_db = dbname = targetdb

pgq_queue_name = origemq

arquivo de log = ~ / log /% (job_name) s.log
arquivopid = ~ / pid /% (job_name) s.pid

COMANDO LINHA COMUTA


As seguintes opções são comuns a todos os programas Python baseados em skytools.DBScript.

-h, --ajuda
mostrar mensagem de ajuda e sair

-q, --quieto
faça o programa silencioso

-v, --verboso
tornar o programa mais detalhado

-d, --daemon
fazer o programa ir para o fundo

--ini
mostrar o arquivo de configuração do modelo comentado.

As seguintes opções são usadas para controlar o processo já em execução. O pidfile é lido de
config, em seguida, o sinal é enviado para o id de processo especificado lá.

-r, --recarregar
recarregar configuração (enviar SIGHUP)

-s, --parar
parar o programa com segurança (enviar SIGINT)

-k, --matar
matar programa imediatamente (enviar SIGTERM)

CASO DE USO


Como processar eventos criados em banco de dados secundário com várias filas, mas tem apenas
uma fila no banco de dados primário. Isso também mostra como inserir eventos em filas com
SQL regular facilmente.

fila CRIAR ESQUEMA;
CRIAR TABELA queue.event1 (
- isso deve corresponder à estrutura interna do evento
- aqui você pode verificar se os dados corretos são colocados na fila
identificação int4,
texto do nome,
- não é necessário, mas é bom ter:
chave primária (id)
);
- colocar os dados na fila em formato codificado por url, pular a inserção real
CRIAR TRIGGER redirect_queue1_trg ANTES DE INSERIR NA queue.event1
PARA CADA PROCEDIMENTO DE EXECUÇÃO DE LINHA pgq.logutriga ('fila única', 'SKIP');
- repita o acima para o evento 2

- agora os dados podem ser inseridos:
INSERT INTO queue.event1 (id, name) VALUES (1, 'user');

Se o queue_splitter for colocado em "fila única", ele espalha o evento no destino para as filas
denominado "queue.event1", "queue.event2", etc. Isso mantém a carga PgQ no banco de dados primário mínima
tanto em termos de CPU quanto de manutenção.

01/15/2016 QUEUE_SPLITTER3(1)

Use queue_splitter3 online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

Comandos Linux

Ad