python subprocess.Popen()与消息队列(芹菜)
我了解到消息队列优于python subprocess.Popen()与消息队列(芹菜),python,django,celery,django-celery,Python,Django,Celery,Django Celery,我了解到消息队列优于subprocess.Popen()。据说消息队列是一种可扩展的解决方案。我想知道这是怎么回事 我只想列出消息队列优于subeprocess.Popen()的优点,这样我就可以说服我的上级使用消息队列而不是subprocess这些是完全不同的事情 subprocess.Popen()只是(通过调用fork和exec)为传递给它的特定命令生成新的操作系统进程。所以,当您需要在单独的流程中执行某些内容并(可选地)获得执行结果(通过管道以某种不太方便的方式)时,它非常适合 队列(如
subprocess.Popen()
。据说消息队列是一种可扩展的解决方案。我想知道这是怎么回事
我只想列出消息队列优于
subeprocess.Popen()
的优点,这样我就可以说服我的上级使用消息队列而不是subprocess
这些是完全不同的事情
subprocess.Popen()
只是(通过调用fork
和exec
)为传递给它的特定命令生成新的操作系统进程。所以,当您需要在单独的流程中执行某些内容并(可选地)获得执行结果(通过管道以某种不太方便的方式)时,它非常适合
队列(如芹菜或ActiveJob)提供了两个主要功能:
- 用于任务(或消息)的存储(更准确地说,是一些现有存储的接口,如PostgreSQL或MongoDB),这些任务(或消息)将在进入该存储之前自动序列化
- 轮询此存储并实际执行这些任务的工作人员(在执行之前对其进行反序列化,也会自动执行)
如果需要异步执行一系列不同的作业,并且希望能够扩展该过程,则应使用队列,这样会使工作更轻松。这些是完全不同的事情
subprocess.Popen()
只是(通过调用fork
和exec
)为传递给它的特定命令生成新的操作系统进程。所以,当您需要在单独的流程中执行某些内容并(可选地)获得执行结果(通过管道以某种不太方便的方式)时,它非常适合
队列(如芹菜或ActiveJob)提供了两个主要功能:
- 用于任务(或消息)的存储(更准确地说,是一些现有存储的接口,如PostgreSQL或MongoDB),这些任务(或消息)将在进入该存储之前自动序列化
- 轮询此存储并实际执行这些任务的工作人员(在执行之前对其进行反序列化,也会自动执行)
如果需要异步执行一系列不同的作业,并且希望能够扩展该过程,则应使用队列,这样会使工作更轻松。除此之外的任何内容?您所说的重量级队列是什么意思?除此之外的任何内容?您所说的重量级队列是什么意思?