RQ 태스크 큐에 대한 더 간단한 대안
이 문제를 해결하는 몇 가지 프로젝트가 있지만 사용하고 구성하기가 더 쉬운 솔루션을 원했기 때문에 kerground(작업자 + 배경)라고 하는 프로젝트를 구축했습니다.
kerground 작업은 다음과 같습니다.
빠른 시작
설치
pip install kerground
_worker.py
접두사로 이름을 지정하여 파일 작업자를 표시합니다.my_worker.py
Kerground는
*_worker.py
를 살펴보고 각 함수를 이벤트로 간주합니다.api/views/dispacher에서
kerground
인스턴스를 가져오고 이벤트 전송을 시작하십시오.#my_api.py
from kerground import Kerground
ker = Kerground()
@app.route('/some-task')
def long_wait():
id = ker.send('long_task')
return {'id': id}
이벤트
long_task
는 *_worker.py 파일의 함수 이름입니다.#my_worker.py
import time
def long_task():
# heavy workoad, more than a few seconds job
time.sleep(2)
API와 작업자는 동일한 패키지/디렉토리에 있어야 합니다.
root
├── api
│ ├── __init__.py
│ └── my_api.py
└── worker
├── __init__.py
└── my_worker.py
예제 디렉터리에서 2개의 cmd/터미널 창을 엽니다.
python3 api/my_api.py
를 시작합니다. kerground
. 위에는 Flask를 사용한 kerground의 실행 예가 있습니다. 보시다시피 kerground는 최소한의 설정으로 되어 있으며 사용하기 매우 쉽습니다. 영감은 터미널에 pytest를 입력하기만 하면 거의 0 구성으로 테스트가 발견되고 실행되는
pytest
에서 나왔습니다.커그라운드 저장소here를 확인하십시오.
Reference
이 문제에 관하여(RQ 태스크 큐에 대한 더 간단한 대안), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/climentea/kerground-background-worker-for-python-3f9h텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)