gpt4 book ai didi

ruby-on-rails - 我应该在哪里运行预定的后台作业?

转载 作者:行者123 更新时间:2023-12-04 06:07:08 25 4
gpt4 key购买 nike

在我的公司,我们在 aws ebs 中有常规应用程序以及一些后台作业。问题是,这些工作开始变得越来越繁重,我们正在考虑将它们与应用程序分开。问题是:我们应该在哪里做?

我们考虑在 aws lambda 中完成此操作,但随后我们必须将 Rails 代码移植到 python、node 或 java,这似乎需要大量工作。为此还有哪些其他选择?我们是否应该为这些工作创建另一个 ec2 环境?提前致谢。

编辑:我正在使用 shoriken gem:http://github.com/phstc/shoryuken与 SQS 集成。但目前存在一些内存泄漏,我的应用程序有时会出现故障,我不知道内存泄漏是否是原因。我们已经将应用程序分为 EBS 中的 API 部分和 S3 中的前端部分。

最佳答案

通常,只是另一个带有 Rails 应用程序副本的 EC2 实例,您可以运行 rake resque:work 或其他内容,而不是使用 rails 来启动 Web 服务器您的作业运行器启动命令是。两者将共享相同的 Redis 实例和数据库,以便您的 Web 服务器将作业写入队列,然后工作线程拾取它们并运行它们。

如果您需要更多工作人员,只需添加更多指向同一 Redis 实例的 EC2 实例即可。我建议按队列名称分隔您的工作,以便一名工作人员可以处理快速的内容,例如电子邮件发送,其他人可以执行长时间运行或缓慢的工作。

关于ruby-on-rails - 我应该在哪里运行预定的后台作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40424364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com