Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django芹菜FIFO_Django_Redis_Celery_Fifo - Fatal编程技术网

Django芹菜FIFO

Django芹菜FIFO,django,redis,celery,fifo,Django,Redis,Celery,Fifo,因此,我用RESTAPI(json消息)连接了这两个应用程序。一个是用Django编写的,另一个是用Php编写的。我在两侧都有一个精确的数据库副本(使用mysql) 当我在其中一个应用程序上按“提交”时,我希望数据保存在当前应用程序数据库中,并使用芹菜/redis启动cron作业,以使用rest更新另一个应用程序的远程数据库 我的问题是,我如何将同一个工人分配给我的任务,以保持FIFO顺序? 我需要我的数据保持一致,FIFO非常重要 好的,我将进一步详细说明我想做的事情: 所以我有一个djang

因此,我用RESTAPI(json消息)连接了这两个应用程序。一个是用Django编写的,另一个是用Php编写的。我在两侧都有一个精确的数据库副本(使用mysql)

当我在其中一个应用程序上按“提交”时,我希望数据保存在当前应用程序数据库中,并使用芹菜/redis启动cron作业,以使用rest更新另一个应用程序的远程数据库

我的问题是,我如何将同一个工人分配给我的任务,以保持FIFO顺序?

我需要我的数据保持一致,FIFO非常重要

好的,我将进一步详细说明我想做的事情:

所以我有一个django应用程序,当我在填写表格后按submit时,我的芹菜工人醒了过来,负责处理提交的数据并发布到远程服务器。这是我可以做的,没有问题

现在,假设我的互联网在那个时候关闭,我的芹菜工人一直在尝试发送,直到成功,但假设我在提交以前的数据之前再次提交,我的数据在另一个远程服务器上不会保持一致


这就是我的问题。我无法通过芹菜提供的重试选项请求FIFO,因此我需要一些帮助来解决这个问题。

这是我从另一个论坛得到的答案:

将命名队列与芹菜一起使用:

使用单个辅助进程启动辅助进程:

将此工作进程设置为从相应队列中使用:


对于fifo部分,我可以在发送请求之前按照fifo顺序对芹菜经纪人进行排序

这是我从另一个论坛得到的答案:

将命名队列与芹菜一起使用:

使用单个辅助进程启动辅助进程:

将此工作进程设置为从相应队列中使用:


对于fifo部分,在发送请求之前,我可以按照fifo顺序对芹菜代理进行排序

难道它们不能共享数据库/使用mysql复制吗?只使用一个工作进程就可以实现fifo风格的执行。如何强制它只使用一个工作进程?不,我必须在REST上进行复制,而不是直接共享数据库“必须在rest上复制”听起来像是沉没成本谬论。他们不能只共享数据库/使用mysql复制吗?你可以通过只使用一个工作进程来实现FIFO风格的执行。我如何强制它只使用一个工作进程?不,我必须在rest上复制而不是直接共享数据库“必须在rest上复制”听起来像是沉没成本谬论。