Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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 canvas为芹菜任务运行2个组并行任务吗_Django_Parallel Processing_Django Celery - Fatal编程技术网

我们可以使用django canvas为芹菜任务运行2个组并行任务吗

我们可以使用django canvas为芹菜任务运行2个组并行任务吗,django,parallel-processing,django-celery,Django,Parallel Processing,Django Celery,就像我在芹菜里加的一样 @app.task(bind=True) def execute_analysis(id_=1): task1 = group(news_event_task.si(i) for i in range(10)) task2 = group(parallel_task.si(i) for i in range(10)) return chain(task1, task2)() 问题:您在同一进程中顺序调用了太多函数(任务),因此,如果任何任务(废弃新闻数

就像我在芹菜里加的一样

@app.task(bind=True)
def execute_analysis(id_=1):
    task1 = group(news_event_task.si(i) for i in range(10))
    task2 = group(parallel_task.si(i) for i in range(10))
 return chain(task1, task2)()

问题:您在同一进程中顺序调用了太多函数(任务),因此,如果任何任务(废弃新闻数据)被阻止,所有其他任务将继续等待,并可能进入阻止状态

解决方案:更好的设计是延迟运行news\u event\u任务,如果要调用并行任务,则可以在同一进程中同时运行每个news\u event\u任务。所以现在所有任务都将并行运行(使用芹菜来实现这一点)


另一种方法是将这些任务发送到队列中(而不是将其顺序保存在内存中),然后逐个处理每个新闻事件任务。

发生了什么!它正在执行,但有时会阻塞,并且在队列中花费太多时间来开始一个接一个地处理和执行任务。您可以详细说明您想要实现的目标吗。它在优化吗?(取决于news_-even_-task.si()/parallel_-task.si()正在执行的操作)。新闻事件任务正在运行以获取来自废弃url的新闻数据,并且在每个固定时间间隔出现数据时并行任务正在执行。感谢您的帮助。我将努力实现这一点way@prachikumrawat它有帮助吗?它仍然属于未回答的类别。