我正在使用Django建立一个监控股票价格的网络服务器。因此,我希望每5秒钟执行一次任务(更新价格),并在控制台日志中告诉我有关更新的信息。为什么Celery不会按照要求写入控制台?
我的文件结构:
├── Project
│ ├── celery.py
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
├── Application
│ ├── admin.py
│ ├── __init__.py
│ ├── migrations
│ ├── models.py
│ ├── serializers.py
│ |── tasks.py
│ |── tests.py
│ |── views.py
我的Celery在settings.py中设置:
# Celery
CELERY_RESULT_BACKEND = 'djcelery.backends.database:DatabaseBackend'
CELERY_TASK_RESULT_EXPIRES = 3600
# Celery repeating tasks
CELERYBEAT_SCHEDULE = {
'notify-every-10-seconds': {
'task': 'Main.tasks.update',
'schedule': timedelta(seconds=10),
},
}
任务本身:
from __future__ import absolute_import
from celery import shared_task
from .models import NasdaqShare
@shared_task
def update():
print('Updated!')
当使用Django数据库运行芹菜工作者网络时,它甚至会将Application.tasks.update列为要运行的任务。
为什么我没有看到任何东西被打印到控制台呢?
如果您想了解更多信息,请与我们联系。