Pheanstalk问题

| 我正在寻找一个可以传递输入的python解释器的持久实例。为此设计的整个系统将用PHP编写。我注意到Pheanstalk软件包可用于beantalkd工作队列。有没有人使用Pheanstalk产生(并维护)一个持续的过程?我知道,Pheanstalk的常见用法是在异步事件中运行花费较长时间的脚本或其他任务,以避免用户等待。我希望异步地有一个Pheanstalk作业/进程来管理和维护我可以将输入传递给它的python解释器进程。这是否可能/已经完成了,如果可以,怎么做?     
已邀请:
我当然已经使用Pheanstalk运行持久性队列工作器。它的工作原理如下: 父PHP进程派生指定数量的工作进程。每个工人都使用Pheanstalk连接到beantalkd,然后等待工作。工人找到工作后,它将执行任务,然后退出,释放其内存。然后,父PHP进程会产生一个新的worker来替换它。 您的要求听起来像这样: 父PHP进程使用proc_open()派生一个python解释器进程,存储对创建的STDIN和STDOUT管道的引用。然后,父PHP进程进入一个循环,使用Pheanstalk连接到beantalk并保留下一个作业。保留作业后,PHP使用fwrite()将作业内容发送到python STDIN管道,然后使用fread()从pythons STDOUT管道读取响应。 这是假设您要维护一个正在运行的python进程,而不是每次保留作业时都启动一个新的python进程。 无论哪种方式都疯狂,但它可能会起作用。 比较明智的选择是使用Python beantalkd客户端,但是,很高兴看到更多人使用Pheanstalk :) 干杯, 保罗     

要回复问题请先登录注册