rails 4 延迟作业 - 根据请求的 URL 或域运行延迟作业



我在处理延迟作业的应用程序之一中有一个要求。我正在使用单个数据库运行两个应用程序。

在这里,我面临着将特定于域的延迟作业称为问题。

例如,假设我们使用单一数据库运行两个域名为 abc.com 和 xyz.com 的应用程序,并从 abc.com 启动了一个延迟作业并设置调用作业的时间,因为来自 xyz.com 的请求在 abc.com 之前调用毫秒,来自 xyz.com 的作业正在启动,并且作业以错误的速率运行。在这里,我想要一个解决方案,通过该解决方案,我们可以根据来自域或请求的 url 的调用调用延迟作业。

任何人都可以在这方面帮助我,因为我被处理这种情况的可能性所困。

提前致谢

您可以设置两个不同的延迟作业队列来分别处理每个域的作业,而不是将所有作业放在一个队列中。

例如

object.delay(:queue => 'domain_one').method
object.delay(:queue => 'domain_two').method

然后,您可以从这里运行两个单独的工作程序,它们可以单独为每个队列提供服务。

https://github.com/collectiveidea/delayed_job 提供了如何将多个队列与延迟作业一起使用的信息

最新更新