繁体   English   中英

如何让Sidekiq工作者不要加载Rails环境

[英]How to make Sidekiq workers not to load Rails environment

我的Rails应用程序启动了一个只发送短信的Sidekiq工作人员。 我确信它不需要整个Rails环境来工作(它只需要客户端的电话和文本作为参数发送)。 但是目前工作人员加载它并因此从我的小型DigitalOcean Droplet中获取大量内存(就像单独的Rails应用程序一样)。

有没有办法告诉工作者路径到它应该要求的唯一文件?

您可以将sidekiq工作者完全解耦为独立(一个或两个文件),并将其作为数字海洋实例上的单独进程运行。 然后在你的rails应用程序中,当你准备完成工作时,你只需将工作推入redis:

Sidekiq::Client.push({
    'class' => TextMessageWorker,
    'queue' => queue_name,
    'args'  => [number, message]
})

这有明显的局限性(没有安排AFAIK),但这应该满足您对这个小例子的需求。

您可以使用-r来请求文件而不是引导Rails。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM