นี่คือคำสั่ง queue_mover3 ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
queue_mover3 - ผู้บริโภค PgQ ที่คัดลอกข้อมูลจากคิวหนึ่งไปยังอีกคิวหนึ่ง
เรื่องย่อ
queue_mover3 [สวิตช์] config.ini
DESCRIPTION
queue_mover เป็นผู้บริโภค PgQ ที่ขนส่งเหตุการณ์จากคิวต้นทางไปยังคิวเป้าหมาย
กรณีใช้งานหนึ่งกรณีคือเมื่อเหตุการณ์ถูกสร้างขึ้นในหลายฐานข้อมูล จากนั้นจึงใช้que_moverเพื่อ
รวมเหตุการณ์เหล่านี้เป็นคิวเดียวที่สามารถประมวลผลโดยผู้บริโภคที่
จำเป็นต้องจัดการกับเหตุการณ์เหล่านี้ ตัวอย่างเช่นในกรณีของฐานข้อมูลแบบแบ่งส่วนจะสะดวก
เพื่อย้ายเหตุการณ์จากแต่ละพาร์ติชั่นไปยังฐานข้อมูลคิวกลางหนึ่งฐานข้อมูลแล้วประมวลผล
ที่นั่น. ด้วยวิธีนี้การกำหนดค่าและการพึ่งพาของฐานข้อมูล partiton นั้นง่ายกว่าและมากกว่า
แข็งแกร่ง กรณีการใช้งานอื่นคือการย้ายเหตุการณ์จากฐานข้อมูล OLTP ไปยังเซิร์ฟเวอร์การประมวลผลแบบแบตช์
ธุรกรรม: เหตุการณ์จะถูกแทรกเป็นธุรกรรมเดียวที่ฝั่งเป้าหมาย นั่นหมายความว่า
ต้องติดตามเฉพาะ batch_id ที่ฝั่งเป้าหมาย
เริ่มต้นอย่างรวดเร็ว
การตั้งค่า PgQ พื้นฐานและการใช้งานสามารถสรุปได้โดยขั้นตอนต่อไปนี้:
1. ต้องติดตั้ง PgQ ทั้งในฐานข้อมูลต้นทางและปลายทาง ดูหน้าคน pgqadm สำหรับ
รายละเอียด
2. ฐานข้อมูลเป้าหมายต้องติดตั้ง pgq_ext schema ด้วย มันถูกใช้เพื่อเก็บการซิงค์
ระหว่างสองฐานข้อมูล
3. สร้างไฟล์การกำหนดค่า queue_mover พูด qmover_sourceq_to_targetdb.ini
4. สร้างคิวต้นทางและเป้าหมาย
$ pgqadm.py sourcedb_ticker.ini สร้าง
$ pgqadm.py targetdb_ticker.ini สร้าง
5. เปิดตัวผู้เสนอญัตติคิวในโหมดภูต
$queue_mover3 -d qmover_sourceq_to_targetdb.ini
6. เริ่มผลิตและบริโภคกิจกรรม
กำหนดค่า
ร่วมกัน องค์ประกอบ พารามิเตอร์
Job_name
ชื่อสำหรับงาน particulat ที่สคริปต์ทำ สคริปต์จะเข้าสู่ระบบภายใต้ชื่อนี้เพื่อ
logdb/logserver.log ชื่อนี้ยังใช้เป็นค่าเริ่มต้นสำหรับชื่อผู้บริโภค PgQ มันควรจะเป็น
ที่ไม่ซ้ำกัน
ไฟล์ pid
ตำแหน่งสำหรับไฟล์ pid หากไม่กำหนด สคริปต์จะไม่ได้รับอนุญาตให้สร้าง daemonize
ไฟล์บันทึก
ตำแหน่งสำหรับล็อกไฟล์
loop_delay
หากกระบวนการทำงานอย่างต่อเนื่อง ระยะเวลาที่จะเข้าสู่โหมดสลีปหลังจากแต่ละรอบการทำงาน มีหน่วยเป็นวินาที
ค่าเริ่มต้น: 1.
การเชื่อมต่อ_อายุการใช้งาน
ปิดและเชื่อมต่อการเชื่อมต่อฐานข้อมูลที่เก่ากว่าอีกครั้ง
use_skylog
ฟู
ร่วมกัน PgQ ผู้บริโภค พารามิเตอร์
Que_name
ชื่อคิวที่จะแนบ ไม่มีค่าเริ่มต้น
Consumer_name
รหัสผู้บริโภคที่จะใช้เมื่อลงทะเบียน ค่าเริ่มต้น: %(job_name)s
คิว_mover พารามิเตอร์
src_db
ฐานข้อมูลต้นทาง
dst_db
ฐานข้อมูลเป้าหมาย
dst_queue_name
ชื่อคิวเป้าหมาย
ตัวอย่าง การตั้งค่า ไฟล์
[queue_mover3]
job_name = eventlog_to_target_mover
src_db = dbname=sourcedb
dst_db = dbname=targetdb
pgq_queue_name = บันทึกเหตุการณ์
dst_queue_name = copy_of_eventlog
pidfile = บันทึก/%(job_name)s.pid
ไฟล์บันทึก = pid/%(job_name)s.log
คำสั่ง จองทาง LINE สวิทช์
สวิตช์ต่อไปนี้เป็นเรื่องปกติสำหรับโปรแกรม Python ที่ใช้ skytools.DBScript
-h, --ช่วยด้วย
แสดงข้อความช่วยเหลือและออก
-q, --เงียบ
ทำให้โปรแกรมเงียบ
-v, --เวอร์โบส
ทำให้โปรแกรมมีความละเอียดมากขึ้น
-d, --ภูต
ทำให้โปรแกรมเป็นพื้นหลัง
--นี่
แสดงไฟล์กำหนดค่าเทมเพลตที่แสดงความคิดเห็น
สวิตช์ต่อไปนี้ใช้เพื่อควบคุมกระบวนการที่กำลังทำงานอยู่แล้ว pidfile อ่านจาก
config จากนั้นสัญญาณจะถูกส่งไปยัง ID กระบวนการที่ระบุที่นั่น
-r, --โหลดใหม่
โหลดการกำหนดค่าใหม่ (ส่ง SIGHUP)
-s, --หยุด
หยุดโปรแกรมอย่างปลอดภัย (ส่ง SIGINT)
-k, --ฆ่า
ฆ่าโปรแกรมทันที (ส่ง SIGTERM)
ใช้ queue_mover3 ออนไลน์โดยใช้บริการ onworks.net