celery?
셀러리는 방대한 양의 메시지를 처리하는 단순하고 유연하며 신뢰할 수 있는 분산 시스템이다.
(출처: celery 공식 홈페이지)
분산 메시지 전달에 기반을 둔 오픈 소스 비동기 태스크 큐, 잡 큐
(출처: 위키백과)
터미널 창에서 pip를 이용해 설치한다.
$ pip install celery
$ celery --version
Celery 4.x부터 Windows는 지원하지 않는다. 세 가지 방법으로 실행 가능하다.
1. eventlet, gevent or solo
2. FORKED_BY_MULTIPROCESSING
3. WSL2(Windows Subsystem for Linux) 터미널 창에서 실행
celery-4-windows에 3가지 명령어 중 하나로 celery worker 실행하는 방법이 나와있다.
// celery 라이브러리 설치 및 버전 확인
$ pip install celery
$ celery --version
// 가상환경 생성
$ virtualenv celery-windows
$ activate celery-windows
// 실행에 필요한 pip 패키지 설치
// requirements.txt 파일의 모든 패키지를 설치하는 명령어
$ pip install -r requirements.txt
celery==4.2.1
eventlet==0.24.1
pypiwin32==223
위의 requirements.txt을 설치하였다면 eventlet 패키지를 다시 설치하지 않아도 된다.
$ pip install eventlet
$ celery worker --app=app.app --pool=eventlet --loglevel=INFO
$ pip install gevent
$ celery worker --app=app.app --pool=gevent --loglevel=INFO
$ celery worker --app=app.app --pool=solo --loglevel=INFO
시스템 속성
-> 환경 변수
-> 사용자 변수
또는 시스템 변수
-> 새로 만들기
FORKED_BY_MULTIPROCESSING=1
을 환경 변수에 추가한다.
환경 변수가 설정되면 pool 인수 없이 celery worker를 실행할 수 있다.
$ celery worker --app=app.app --loglevel=INFO
$ pip install celery
$ celery --version
프로젝트 디렉토리로 이동 후 실행한다.
$ cd /mnt/c // C드라이브로 이동
$ cd .. // 프로젝트 디렉토리로 이동
$ celery worker --app=app.app --loglevel=INFO
출처