ฉันกำลังใช้บริการ memcached ที่พร้อมใช้งานสูง เนื่องจาก memcached ไม่คงข้อมูลไว้ เมื่ออินสแตนซ์เริ่มทำงาน ฉันจึงต้องการ seed ข้อมูลจากอินสแตนซ์ที่กำลังทำงานอยู่ ดังนั้นการเริ่มต้น (ในรหัสเทียม) คือ ....
บล็อกการเชื่อมต่อขาเข้ากับพอร์ต 11211
เริ่มเมมแคช
ทำซ้ำข้อมูล
ปลดบล็อกการเชื่อมต่อขาเข้า
สิ่งนี้ดูตรงไปตรงมา แต่สคริปต์ ExecStart ในไฟล์หน่วยที่ให้มาสำหรับบล็อก memcached ในขณะที่บริการกำลังทำงาน /usr/share/memcached/scripts/systemd-memcached-wrapper /etc/memcached.conf
. ดังนั้นหากฉันเพียงแค่รวมมันไว้ในสคริปต์ของฉันเอง การจำลองแบบ & เลิกบล็อกจะไม่ดำเนินการ
ฉันสามารถแยกไฟล์นี้เป็น 2 ไฟล์โดยไฟล์ที่สองจัดการการจำลองแบบและการปลดบล็อกและกำหนดให้ไฟล์แรกทำงาน แต่ฉันจะทนได้อย่างไรว่าส่วนที่สองนั้น เสมอ วิ่งตามหลังแรก?
ฉันควรปิดการใช้งาน systemd memcached start และเรียก "systemctl start memcached" อย่างชัดเจนจากสคริปต์ของฉันหรือไม่
ฉันไม่ต้องการแก้ไขสคริปต์ systemd-memcached-wrapper ที่บรรจุ - การเปลี่ยนแปลงของฉันอาจถูกเขียนทับโดยการอัปเดต
อะไรจะเป็นโซลูชันที่มีประสิทธิภาพโดยใช้ systemd