首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在停止Redis之后继续执行芹菜队列,然后在稍后启动?

如何在停止Redis之后继续执行芹菜队列,然后在稍后启动?
EN

Stack Overflow用户
提问于 2020-05-11 07:32:35
回答 1查看 726关注 0票数 6

我正在运行一个Django应用程序,它使用芹菜和使用Redis服务器作为工作人员运行异步任务。

我需要能够停止整个基础设施,并使其恢复正常,而不会导致任务执行中断。所以我需要这样做:

代码语言:javascript
复制
1) Stop the Django webservice
2) Stop celery
3) Shut down Redis daemon
4) Make a few changes in the server or move to a different machine
5) Start Redis daemon
6) Start Celery
7) Start the Django webservice

当整个基础设施再次恢复时,它应该继续运行。也就是说,如果队列中有任何任务,它应该继续执行它们。

我该怎么做呢?是否有一种方法可以保存队列并在以后继续?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-14 19:48:16

有保存队列并在以后继续的方法吗?

是。所有任务都保存在Redis中。如果您可以继续运行它,或者导出/导入它的数据,那么您就不会丢失任何任务。

大致上有两种选择。

选项1:

停止Django webservice

  • Stop芹菜

  • 导出redis数据到快照,使用RDB

  • 关闭Redis守护进程

  • 在服务器上进行一些更改或从snapshot

  • Start Celery

H 121启动Django few服务H 222移动到不同的snapshot

  • Start

  • 红色数据

关于RDB的更多信息:https://redis.io/topics/persistence

备选方案2:

停止Django webservice

  • Stop芹菜

  • 在服务器上做一些更改,或者移动到另一个machine

  • Start芹菜

  • 启动Django webservice

一直保持着红色的运转。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61724464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档