Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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服务器持续进行长轮询?_Django_Blocking_Long Polling - Fatal编程技术网

是否可以从Django服务器持续进行长轮询?

是否可以从Django服务器持续进行长轮询?,django,blocking,long-polling,Django,Blocking,Long Polling,我有一个Django服务器,我想添加一个组件来读取Redis流。这将通过在无限循环中放置阻塞读取调用来实现。当线程解除阻塞时,它将向数据库写入一些数据 是否有推荐的方法来实现这一点?这应该在辅助服务器的主服务器之外完成吗?有可能在另一个线程中执行此操作吗 此外,此代码应该驻留在项目中的何处?是的,您应该在单独的流程/工作者中执行此操作。对于这一点,许多解决方案中最简单但最不完整的就是创建一个脚本,其中包含,而True循环并运行它。您的Redis流是什么样的?我还试图实现一个Redis流,当缓存过

我有一个Django服务器,我想添加一个组件来读取Redis流。这将通过在无限循环中放置阻塞读取调用来实现。当线程解除阻塞时,它将向数据库写入一些数据

是否有推荐的方法来实现这一点?这应该在辅助服务器的主服务器之外完成吗?有可能在另一个线程中执行此操作吗


此外,此代码应该驻留在项目中的何处?

是的,您应该在单独的流程/工作者中执行此操作。对于这一点,许多解决方案中最简单但最不完整的就是创建一个脚本,其中包含
,而True
循环并运行它。您的Redis流是什么样的?我还试图实现一个Redis流,当缓存过期时发送notif,所以我使用芹菜来执行代码。如果有的话,你应该在apps.py中加入一个初始函数,也许可以使用asyncio来运行你的流。@yoomama我想这样做很好,但没有太多经验。我们使用redis流从遗留系统获取更新。我将尝试使用asyncio在另一个线程中运行循环。流中填充了什么?如果您使用芹菜,您可能会将流更改为芹菜任务queue@IainShelvington我们没有在这个项目中使用芹菜,尽管如果这是最好的解决方案,我们可以添加芹菜。不过,我对有两个队列感到有点不安。是的,你应该在一个单独的进程/工作者中完成这项工作。对于这一点,许多解决方案中最简单但最不完整的就是创建一个脚本,其中包含
,而True
循环并运行它。您的Redis流是什么样的?我还试图实现一个Redis流,当缓存过期时发送notif,所以我使用芹菜来执行代码。如果有的话,你应该在apps.py中加入一个初始函数,也许可以使用asyncio来运行你的流。@yoomama我想这样做很好,但没有太多经验。我们使用redis流从遗留系统获取更新。我将尝试使用asyncio在另一个线程中运行循环。流中填充了什么?如果您使用芹菜,您可能会将流更改为芹菜任务queue@IainShelvington我们没有在这个项目中使用芹菜,尽管如果这是最好的解决方案,我们可以添加芹菜。不过,我对排两个队感到有点不安。