ฉันกำลังสร้างแอปอย่างรวดเร็วและฉันต้องการเพิ่มดีมอนที่จะทำงานในพื้นหลัง คุณจะทำสิ่งนี้ได้อย่างไร
ฉันกำลังสร้างแอปอย่างรวดเร็วและฉันต้องการเพิ่มดีมอนที่จะทำงานในพื้นหลัง คุณจะทำสิ่งนี้ได้อย่างไร
คำตอบ:
เท่าที่ฉันรู้มีอะไรเฉพาะในการป้องกันหรือช่วยเหลือคุณในการใช้ daemons อย่างรวดเร็ว แต่มีอย่างน้อยสองตัวเลือกฉันรู้ / เดาคุณสามารถทำได้ด้วยหลาม:
หมายเหตุ: ฉันยังไม่ได้ลองอันนี้ :)
ใส่ daemon script ของคุณลงในbin
ไดเรกทอรีของโครงการที่รวดเร็วเช่น:bin/yourapp-launcher
เพิ่มสิ่งต่อไปนี้ลงในdata/yourapp-launcher.desktop
ไฟล์:
[Desktop Entry]
Name=Your App
Exec=/bin/sh -c 'yourapp-launcher'
Type=Application
X-GNOME-Autostart-Delay=30
Icon=yourapp
Comment=
NoDisplay=true
แก้ไขsetup.py
และระบุเพิ่มเติมdata_files
ในส่วน DistUtilsExtra เช่น:
DistUtilsExtra.auto.setup(
name='hello-ubuntu',
version='0.1',
#license='GPL-3',
#author='Your Name',
#author_email='email@ubuntu.com',
#description='UI for managing â¦',
#long_description='Here a longer description',
#url='https://launchpad.net/hello-ubuntu',
cmdclass={'install': InstallAndUpdateDataDirectory},
data_files=[('/etc/xdg/autostart', ['data/yourapp-launcher.desktop'])]
)
ดูเหมือนว่าจะไปเมื่อ daemon ต้องทำงานสำหรับผู้ใช้ทั้งหมดเช่นวิธีการทำงานของ U1
ฮาร์ดโค้ดทุกอย่างในตรรกะแอปของคุณตัวอย่างเช่นเริ่มต้น ~ / .config / autostart / yurapp-launcher.desktop ในการเรียกใช้ครั้งแรกเช่นเดียวกับวิธีที่GmailNotify Appทำ
ต่างจาก GmailNotify App คุณสามารถพึ่งพาไลบรารีpython-xdgเพื่อเข้าถึงมาตรฐาน freedesktop.org:
import xdg
print xdg.BaseDirectory.xdg_config_home
ดูเหมือนว่าดีสำหรับ daemons ที่จัดการโดยผู้ใช้
จากสิ่งที่ฉันเห็นว่าไม่มีเทมเพลตให้เพิ่ม daemon อย่างรวดเร็ว อย่างไรก็ตามคุณสามารถมีส่วนร่วมได้โดยสร้างเทมเพลต daemon วิธีสร้างเทมเพลตของคุณเองมีการอธิบายในคำตอบสำหรับคำถามนี้: วิธีสร้างเทมเพลตแอปพลิเคชันใหม่อย่างรวดเร็ว
คุณสามารถเข้าร่วมกลุ่มแม่แบบชุมชนที่ Launchpad เพื่อให้แม่แบบของคุณพร้อมให้ผู้อื่นใช้
แก้ไข: นอกจากนี้ยังมีเลนส์แม่แบบความสามัคคี มันจะทำงานกับ Ubuntu Unity เท่านั้นดังนั้นคุณจะขึ้นอยู่กับแพลตฟอร์ม (ค่อนข้างอ่อนแอถ้าคุณถามฉัน) แต่ดูเหมือนว่าจะมีสิ่งที่ D-Bus พร้อมตั้งแต่เริ่มต้น ชนิดของภูต แต่อาจจะไม่มาก คุณสามารถใช้สิ่งนี้เป็นจุดเริ่มต้นเพื่อสร้าง daemon อิสระแพลตฟอร์มบางที ...
ฉันไม่ทราบรายละเอียดใด ๆ นอกจากสิ่งที่ฉันสามารถเชื่อมโยงจากคนอื่นขอโทษ ดูที่ตัวฉันเองเพื่อดูวิธีใช้ Qt4 อย่างรวดเร็ว แก้ไข 2: เพิ่งพบว่ามีองค์ประกอบ D-Bus เพื่อ Qt ซึ่งจะทำให้แพลตฟอร์มภูตของคุณเป็นอิสระ (ทำงานบน Windows และ Linux ฯลฯ ) ฟอรัมสนทนานี้ ( http://www.qtcentre.org/threads/38453-Send-and-receive-a-signal-between-2-Qt-applications ) มีตัวอย่าง (ใน C ++ แต่ยังคง) ของวิธีการใช้ มัน. หรือคุณสามารถ google สำหรับ QDBusConnection และ QDBusMessage
เมื่อมองดูเอกสารอย่างรวดเร็วดูเหมือนว่าอย่างรวดเร็วไม่สนับสนุนการสร้าง daemons ดังนั้นผมจึงขอแนะนำให้ภูตห้องสมุดหลาม นอกจากนี้ให้ดูบทแนะนำ Python ต่อไปนี้ที่สามารถเชื่อมต่อได้ง่ายจากแอปพลิเคชันอย่างรวดเร็ว:
นอกจากนี้คำถาม Stack Overflow ยังตอบคำถาม Python daemons
Python 3.3 จะมีโมดูล daemon สำหรับการจัดการ daemons