【问题标题】:Rails, use a single delayed_job instance for all applicationsRails,对所有应用程序使用单个延迟作业实例
【发布时间】:2012-11-02 10:30:33
【问题描述】:

我有一台运行多个 RoR 应用程序的服务器。其中一些需要delayed_job 来处理图片大小调整和其他任务。目前,我正在为每个应用程序运行延迟作业...这会导致更高的内存消耗。

是否可以在服务器上运行共享的延迟作业实例,以供应用程序使用?

【问题讨论】:

    标签: ruby-on-rails delayed-job


    【解决方案1】:

    那会很可疑。 Delayed_job 应该与请求作业的应用程序使用相同的代码库运行 - 它使用此事实进行作业序列化/反序列化,否则将非常困难。在您的情况下,作业可能相似,但在某些时候,其中一个应用程序会安排延迟进程根本无法理解的作业。

    【讨论】:

    • 重点是……如果我有 20 个应用程序需要延迟作业,我的服务器将面临内存问题。有什么建议吗?
    • 您可以创建一个单独的应用程序,它只处理长时间运行的任务(并通过delayed_job 完成)。例如,其他应用程序可以通过 json API 与它通信。我还会认真考虑在一台服务器上安装 20 个应用程序是否是一个好主意 - 其中任何一个遇到大量负载都可能会降低所有其他应用程序的性能。
    • 我知道将这么多应用程序放在同一个服务器上并不理想。但是,由于公司政策,我别无选择。你的想法很有趣,但引导我开发特定的 API 来从相关数据库读取和传输数据。我保证我会考虑一下。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-05
    • 2021-04-19
    • 1970-01-01
    • 2013-11-26
    • 2015-10-06
    • 2017-07-08
    • 2011-12-24
    相关资源
    最近更新 更多