here에있는 자습서를 따라 내 django 프로젝트에서 정의 된 주기적 작업을 얻고 있습니다. 작동Django-Celery : 다른 앱에서 프로젝트의 celery.py 파일로 가져 오기
from celery import Celery
from celery.schedules import crontab
app = Celery()
@app.on_after_configure.connect
def setup_periodic_tasks(sender, **kwargs):
# Calls test('hello') every 10 seconds.
sender.add_periodic_task(10.0, my_task.s('hello'), name='add every 10')
)
@app.task
def my_task(arg):
print(arg)
:
기사는 형태의 celery.py
파일을 가지고 제안합니다. 이제는 좋지만 로컬로 작업을 정의하고 싶지는 않습니다. 내 질문은, 어떻게 다른 애플 리케이션에서 작업을 추가 할 수 있습니까?
my_proj
이라는 빈 프로젝트를 만들었으며 my_proj
및 app_with_tasks
의 두 가지 응용 프로그램이 있습니다. 위의 파일 celery.py
은 루트 디렉토리의 my_proj
디렉토리에 있으며 app_with_tasks
의 tasks.py
파일의 정기 작업을 추가하고 싶습니다.
my_proj
설정 파일의 경우 Installed-apps에 app_with_tasks
이 나열되어 있지만 앱에서 아무것도 가져올 수 없습니다.
나의 이해는 내가 사용한다는 것입니다 :
from app_with_tasks.tasks import task1
하지만 my_proj
다음 PyCharm 같이 해결되지 않은 참조가 표시됩니다.
셀러리 서버/데몬을 시작하는 데 사용하는 명령은 무엇입니까? – jperelli
'셀러리 -A my_proj 이길 ',하지만 나는 아직 거기에 없다. 나는 app_with_tasks 앱으로부터 아무 것도 가져올 수없는 프로젝트 파일에 아무 것도없는 사소한 단계를 놓쳤다 고 생각한다. – ShS