AWS Elastic Beanstalk 上的 django-rq 和 rqscheduler 部署

标签 django amazon-web-services redis amazon-elastic-beanstalk django-rq

我有一个在 AWS EB 环境中运行的 Django 应用程序。在最近的更新中,我不得不为一些基于队列的后台任务集成 django-rq 和 rqscheduler。这一切在本地主机上使用命令 rqworkerrqscheduler 都可以正常工作。但是我很难找到一种方法让它在 AWS EB 环境中运行。我的分析表明唯一的出路是使用 ElastiCache。任何人都可以指导我正确的方向或任何可以帮助我解决这个问题的博客文章吗?

最佳答案

是啊!因此,您可能希望将持久存储 (Redis) 与工作人员分开。这在 Heroku 中非常抽象(并不是说您一定要使用它们,但它们的 UI 很好地反射(reflect)了现实)与 Resources(在部署之间不重新启动)和 Dynos(在部署之间重新启动)。

您可能应该为每个已部署环境(生产、暂存等)拥有一个 ElastiCache(或自托管 Redis)实例,并通过 YAML 提供任何 URL/凭据。这样,当您的服务重新启动时您不会失去工作(因为 Redis 仍然存在)但您可以随时部署新代码!

关于AWS Elastic Beanstalk 上的 django-rq 和 rqscheduler 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49778627/

相关文章:

jquery - django.jQuery $ 不是函数消息

python - 根据外键选择在 django-admin 中填充值...再次

ruby-on-rails-3 - 尝试在 AWS Elastic Beanstalk 上预编译 Assets

javascript - 在 Lambda 中使用 child_process 时 AWS API Gateway 立即超时

amazon-web-services - 如何在cloudformation lambda 中设置aws lambda 的maximumRetryAttempt?

node.js - 在redis中有效地缓存搜索结果

python - IntegerField 只接受 11 位数字(不小于 11,不大于 11)

python - 使用带有 token 的 Google API [Django & AllAuth]

node.js - 如何将聊天与 nodejs 和 xmpp 集成到我现有的 Web 应用程序中?

Redis 源代码在 macOS Mojave 上编译失败