Ruby on rails Rails并行背景处理

Ruby on rails Rails并行背景处理,ruby-on-rails,background-process,Ruby On Rails,Background Process,我有一个rails应用程序(它的作用类似于一组打印机的负载平衡器),需要进行一些后台处理。后台处理逻辑需要迭代所有可用(非忙)打印机,并通过TCP套接字向每个打印机发送打印作业,只要存在作业 我知道有几种解决方案可以处理后台处理(Starling/Workling/ActiveMQ、BackgroundRB、延迟作业等),但哪种解决方案最适合我的需要(我需要为当前可用的每台打印机配备一个工人/线程)?DelayedJob是一个好的简单解决方案,因为它集成到您的环境中,并使用您的应用程序数据库。如

我有一个rails应用程序(它的作用类似于一组打印机的负载平衡器),需要进行一些后台处理。后台处理逻辑需要迭代所有可用(非忙)打印机,并通过TCP套接字向每个打印机发送打印作业,只要存在作业


我知道有几种解决方案可以处理后台处理(Starling/Workling/ActiveMQ、BackgroundRB、延迟作业等),但哪种解决方案最适合我的需要(我需要为当前可用的每台打印机配备一个工人/线程)?

DelayedJob是一个好的简单解决方案,因为它集成到您的环境中,并使用您的应用程序数据库。如果您不需要立即从一个单独的环境开始,这是完美的。换句话说,您不需要额外的需求,只需要Rails应用程序和数据库本身

Resque也是另一个伟大的解决方案,但它要求您使用Redis数据库


我没有尝试其他解决方案,因为它们太复杂,或者被Redis和DelayedJob取代。

我只能为DelayedJobs说话,但我无法想象它对你不起作用。您可以指定尝试每个作业的次数,并相应地在每个作业中运行。