EnglezăFrancezăSpaniolă

Favicon OnWorks

queue_splitter3 - Online în cloud

Rulați queue_splitter3 în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda queue_splitter3 care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


queue_splitter3 - consumator PgQ care transportă evenimente dintr-o coadă în mai multe ținte
frac

REZUMAT


queue_splitter3 [comutatoare] config.ini

DESCRIERE


queue_spliter este un consumator PgQ care transportă evenimente din coada sursă către mai multe ținte
cozile. Câmpul ev_extra1 din fiecare eveniment arată în ce coadă țintă trebuie să intre.
(pgq.logutriga() pune acolo numele tabelului.)

Un caz de utilizare este mutarea evenimentelor din baza de date OLTP pe serverul de procesare batch. Prin utilizarea
separator de coadă este posibil să mutați tot felul de evenimente pentru procesarea în loturi cu unul singur
consumatorul păstrând astfel baza de date OLTP mai puțin aglomerată.

PORNIRE RAPIDĂ


Configurarea și utilizarea de bază a queue_splitter pot fi rezumate prin următorii pași:

1. pgq trebuie instalat atât în ​​bazele de date sursă, cât și țintă. Vezi pagina de manual pgqadm pentru
Detalii. Baza de date țintă trebuie să aibă și schema pgq_ext instalată.

2. editați un fișier de configurare queue_splitter, să zicem
queue_splitter_sourcedb_sourceq_targetdb.ini

3. creați cozi sursă și țintă

$ pgqadm.py ticker.ini create

4. lansați separatorul de coadă în modul daemon

$ queue_splitter3 queue_splitter_sourcedb_sourceq_targetdb.ini -d

5. începe să produci și să consumi evenimente

ÎNFIINȚAT


Comun configuraţie parametrii
numele locului de munca
Nume pentru munca particulară pe care o face scriptul. Scriptul se va conecta sub acest nume la
logdb/logserver. Numele este, de asemenea, folosit ca implicit pentru numele consumatorului PgQ. Ar trebui să fie
unic.

pidfile
Locație pentru fișierul pid. Dacă nu este dat, scriptul nu este permis să demonizeze.

fișier jurnal
Locație pentru fișierul jurnal.

loop_delay
Dacă procesul rulează continuu, cât timp să dormi după fiecare buclă de lucru, în secunde.
Implicit: 1.

connection_lifetime
Închideți și reconectați conexiunile mai vechi de baze de date.

use_skylog
foo.

Comun PgQ consumator parametrii
nume_coadă
Nume de coadă de atașat. Fără implicit.

nume_consumator
ID de consumator de utilizat la înregistrare. Implicit: %(job_name)s

queue_splitter parametrii
src_db
Baza de date sursă.

dst_db
Baza de date țintă.

Exemplu config fişier
[queue_splitter3]
job_name = queue_spliter_sourcedb_sourceq_targetdb

src_db = dbname=sourcedb
dst_db = dbname=targetdb

pgq_queue_name = sursăq

jurnal = ~/log/%(job_name)s.log
pidfile = ~/pid/%(job_name)s.pid

COMMAND LINE COMUTATOARE


Următoarele comutări sunt comune tuturor programelor Python skytools.DBScript.

-h, --ajutor
afișați mesajul de ajutor și ieșiți

-q, --liniște
face programul silentios

-v, --verbos
face programul mai detaliat

-d, --daemon
face programul să treacă în fundal

--ini
arată fișierul de configurare a șablonului comentat.

Următoarele comutatoare sunt folosite pentru a controla procesul care rulează deja. Fișierul pid este citit din
config, atunci semnalul este trimis către id-ul de proces specificat acolo.

-r, --reîncărcare
reîncărcați configurația (trimiteți SIGHUP)

-s, --stop
opriți programul în siguranță (trimiteți SIGINT)

-k, --ucide
omorâți programul imediat (trimiteți SIGTERM)

UTILIZARE CAZ


Cum se procesează evenimentele create în baza de date secundară cu mai multe cozi, dar au doar
o singură coadă în baza de date primară. Aceasta arată, de asemenea, cum să inserați evenimente în cozi cu
SQL obișnuit cu ușurință.

CREATE SCHEMA coada;
CREATE TABLE queue.event1 (
-- aceasta ar trebui să corespundă structurii interne a evenimentului
-- aici puteți verifica dacă datele corecte sunt puse în coadă
id int4,
textul numelui,
-- nu este necesar, dar este bine să aveți:
cheie primară (id)
);
-- puneți datele în coadă în format urlencoded, omiteți inserarea reală
CREATE TRIGGER redirect_queue1_trg ÎNAINTE DE INSERE PE QUEue.event1
PENTRU FIECARE RÂND EXECUȚI PROCEDURA pgq.logutriga('singlequeue', 'SKIP');
-- repetați cele de mai sus pentru evenimentul 2

-- acum datele pot fi introduse:
INSERT INTO queue.event1 (id, nume) VALUES (1, 'utilizator');

Dacă queue_splitter este pus pe „singlequeue”, acesta răspândește evenimentul de pe țintă la cozi
numit „queue.event1”, „queue.event2”, etc. Aceasta menține încărcarea PgQ pe baza de date primară minimă
atât în ​​ceea ce privește CPU, cât și în ceea ce privește întreținerea.

01/15/2016 QUEUE_SPLITTER3(1)

Utilizați queue_splitter3 online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

Comenzi Linux

Ad