0

我需要在 Ruby 中开发多进程应用程序:一个主进程管理多个工作进程。大师创建(分叉!我不想要多线程,但多处理)工作人员的拉动,然后要求数据库定期处理新记录,如果有的话 - 通过管道将记录发送给工作人员。当worker完成它的工作时,它必须通知master,所以master可以向这个worker发送另一个记录来处理。我找不到工作人员可以发送给主服务器的通知的解决方案,似乎应该以异步方式完成,但 IO 管道在同步模式下工作。请给我一个方向?也欢迎评论中的任何分叉最佳实践!谢谢你。

PS。我不想使用 EventMachine 或 Parallel 之类的外部解决方案,只能使用分叉。

4

1 回答 1

2

好吧,我确实认为 MQ 系统更合适。主发布作业,作品查询和处理作业。

rails 也有发布/订阅功能见

http://api.rubyonrails.org/classes/ActiveSupport/Notifications.html

Rails pub/sub 与 faye

于 2013-01-06T07:07:51.980 回答