Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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
Python 使用Pika和Django(使用Django rest框架的基于事件的微服务)_Python_Django_Microservices_Pika_Event Based Programming - Fatal编程技术网

Python 使用Pika和Django(使用Django rest框架的基于事件的微服务)

Python 使用Pika和Django(使用Django rest框架的基于事件的微服务),python,django,microservices,pika,event-based-programming,Python,Django,Microservices,Pika,Event Based Programming,这里有人有使用Django实现pika的经验吗? 我基本上是使用django rest框架运行一个基于事件的微服务。并使用RabbitMQ作为消息总线。我知道在这种情况下使用的默认库是芹菜,但我正在寻找一个更轻的版本,在这个版本中,我可以在消息上实现一个简单的pub/sub 以前有人使用pika实现过这样的服务吗? 我的问题更多的是,如何将鼠兔作为一个单独的过程与Django一起繁殖?还是有更优雅的解决方案 提前谢谢 ---更新--- 我们最后做的是: 对于出版商: 我们生成了一个单独的线程(

这里有人有使用Django实现pika的经验吗? 我基本上是使用django rest框架运行一个基于事件的微服务。并使用RabbitMQ作为消息总线。我知道在这种情况下使用的默认库是芹菜,但我正在寻找一个更轻的版本,在这个版本中,我可以在消息上实现一个简单的pub/sub

以前有人使用pika实现过这样的服务吗? 我的问题更多的是,如何将鼠兔作为一个单独的过程与Django一起繁殖?还是有更优雅的解决方案

提前谢谢

---更新---

我们最后做的是:

对于出版商:

  • 我们生成了一个单独的线程(如果需要以高卷/秒的速度发布,则可以生成多个线程),以保持pika连接的活动状态
对于用户:

  • 我们生成一个单独的工作进程(在一个单独的容器中),该进程具有django上下文(使用django.setup()),该上下文使用来自RabbitMQ的消息

我的2美分-如果您愿意,可以忽略-所有这些都取决于部署。如果您知道自己在做AWS,那么使用SQS和利用它们的堆栈可能会更容易。否则,我会在容器中设置rabbitmq/redis/pika,然后从DRF中的modelview调用它。但接下来的大问题是如何处理crontab或循环轮询,但有很多选择。