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 つのファイルを選択した場合、セロリは 2 つのタスクしか受け入れません。どうしたの?

4

1 に答える 1

1

worker の同時実行設定を確認しましたか?

たとえば、2 コアのマシンで 1 つのワーカーしか実行していない場合、デフォルトの同時実行数は 2 になります。つまり、一度に実行できるタスクは 2 つだけです。

スイッチを使用してワーカー コマンドラインからこの設定を変更できます。

 -c N

ここで、N は並列タスクの数です

于 2013-03-11T07:56:09.477 に答える