2

我有这样的芹菜任务:

@celery.task
def file_transfer(password, source12, destination):
    result = subprocess.Popen(['sshpass', '-p', password, 'rsync', '-avz', source12, destination], 
                                    stderr=subprocess.PIPE, stdout=subprocess.PIPE).communicate()[0]                             
    return result        

我已经调用了 Djagno 视图。

用户可以选择多个文件复制到目的地。例如,如果用户选择一次 4 个文件,celery 只接受 2 个任务。怎么了?

4

1 回答 1

1

你检查过你的工人的并发设置吗?

例如,如果您只有一个工作人员在两核机器上运行,则默认情况下并发为 2。这意味着一次只能执行两个任务。

您可以使用开关从工作人员命令行更改此设置:

 -c N

其中 N 是并行任务的数量

于 2013-03-11T07:56:09.477 回答