문제

I am trying to set a different number of concurrent threads in Celery using --concurrency=1 (based on Workers Guide).

Anyway, when I run the daemon (celeryd ... --concurrency=1) I don't know how to see the number of threads that are running.

Do they correspond to each line shown in ps -ef?

도움이 되었습니까?

해결책

By default celery uses subprocesses for the workers. If you configure concurrency=1 you should have 2 processes:

  • the main process that consumes messages from the broker and manages the process poll
  • 1 worker process

In general you will have 1 main process + N worker subprocesses, as many as stated in --concurrency=N or CELERYD_CONCURRENCY=N

I'm not sure what happens with gevent workers.

다른 팁

ps -ef | grep celery | grep -v grep | wc -l returns the number of celery process running which is equal to the concurrency and ps -eLf | grep celery | grep -v grep | wc -l returns the number of threads used by celery

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top