我有一个守护进程,它继续运行我使用runit包创建的进程。我希望守护进程能够监听表并根据表的列执行任务,该表说明了需要执行的任务。
EG: table 'A' has column job_type.
我想在每次获取要执行的新任务时从这个守护进程中分配子进程(基于守护进程监听的表A中插入的新行)。
多处理模块说我不能或不应该从守护进程中分叉子进程,就像它死了一样,子进程是孤立的。
实现Daemons基于列值监听表的好方法是什么,它会分配子进程(彼此独立),它们完成任务并返回守护进程并死掉。
如果子进程正在访问共享数据并对其进行修改,我需要使用一些锁定机制。
答案 0 :(得分:0)
我假设您拥有的守护程序进程也是从python脚本生成的,该脚本使用daemon = true调用multiprocess。 在这种情况下,守护程序正在运行意味着您的创建者进程仍在运行,因此您只需通过管道向其发送消息即可为您生成新进程。如果您的守护进程需要与此对话,请使用您选择的套接字或任何ipc方法。