我正在關注here的教程,以獲取在我的django項目中定義的定期任務。Django-Celery:從另一個應用程序導入項目的celery.py文件
文章建議有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)
其中工程。現在這很好,但我不想在本地定義我的任務。我的問題是,我如何從其他應用程序添加任務?
我創建了一個名爲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