我有一个等待AMQP消息的PHP脚本。 当消息进入时,处理完成后,将等待下一条消息。
问题当然是阻塞。 如果例如传入消息需要我联系外部REST API,则处理可能需要几秒钟才能完成,并且一直处理不了其他消息。
我可以开始我的脚本几次,例如8次。 这样我有8个“消费者”,这似乎工作得很好。 但是,现在的问题是,我如何pipe理这8个不同的过程呢?
我基本上寻找一些实用工具,允许我指定我想要启动一个特定的脚本8次,然后能够监视这些进程的时间等。是否有这样的工具?
使用暴发户。
编辑/etc/init/whateveryouwant.conf
start on runlevel [2345] task env CONSUMERS=8 script for i in `seq 1 $CONSUMERS` do start /fullpath/to/your/script/here CONSUMER=$i done end script respawn limit 15 5
那么你可以使用service whateveryouwant start
service whateveryouwant stop