celerydのメインプロセスは、タスクのメッセージをブローカーから受け取った後、ワーカープロセスに処理を実行させる。 メッセージをブローカーから受け取る際、実行中のものとは別に、事前にメッセージを取得(プリフェッチ)するようになっている。 全てのワーカープロセスが処理中であってもプリフェッチは行われる。 それぞれのタスクの処理に長い時間がかかる場合、複数のマシンでcelerydを動かしていても、このプリフェッチによってタスクが待ち状態になってしまう状況が発生する。 このプリフェッチ数は CELERYD_PREFETCH_MULTIPLIER の値を設定することで変更できる。デフォルト値は4。これは1ワーカーごとの値となる。(例: concurrencyを3に設定した場合は12) http://docs.celeryproject.org/en/latest/configuration.h