Dat*_*ede 7 python django celery django-celery
编辑2
如果有人可以发布架构应该是什么,我会非常高兴!我只需要知道表名和列名!
我正在按照本教程进行操作:
http://www.caktusgroup.com/blog/2014/06/23/scheduling-tasks-celery/
我成功地安装了django-celery.
#settings.py
import djcelery
djcelery.setup_loader()
BROKER_URL = 'django://'
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'charts',
'social.apps.django_app.default',
'django.contrib.staticfiles',
'djcelery',
'kombu.transport.django',
)
Run Code Online (Sandbox Code Playgroud)
当我跑python manage.py syncdb
:
Creating tables ...
Creating table django_admin_log
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_groups
Creating table auth_user_user_permissions
Creating table auth_user
Creating table django_content_type
Creating table django_session
Creating table social_auth_usersocialauth
Creating table social_auth_nonce
Creating table social_auth_association
Creating table social_auth_code
Creating table celery_taskmeta
Creating table celery_tasksetmeta
Creating table djcelery_intervalschedule
Creating table djcelery_crontabschedule
Creating table djcelery_periodictasks
Creating table djcelery_periodictask
Creating table djcelery_workerstate
Creating table djcelery_taskstate
Run Code Online (Sandbox Code Playgroud)
但是,当我跑步时,python manage.py celery worker --loglevel=info
我最终得到:
OperationalError: no such table: djkombu_queue
Run Code Online (Sandbox Code Playgroud)
我已经尝试卸载并重新安装所有内容,但无法弄清楚为什么没有创建此表.如何创建这个表?
编辑 我在查看另一个问题之后问了这个问题,因为将设置更改为:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'charts',
'social.apps.django_app.default',
'djcelery',
'kombu.transport.django',
'djcelery.transport',
Run Code Online (Sandbox Code Playgroud)
)
要么
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'charts',
'social.apps.django_app.default',
'djcelery',
'djcelery.transport',
)
Run Code Online (Sandbox Code Playgroud)
仍然导致:
Creating tables ...
Creating table django_admin_log
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_groups
Creating table auth_user_user_permissions
Creating table auth_user
Creating table django_content_type
Creating table django_session
Creating table social_auth_usersocialauth
Creating table social_auth_nonce
Creating table social_auth_association
Creating table social_auth_code
Creating table celery_taskmeta
Creating table celery_tasksetmeta
Creating table djcelery_intervalschedule
Creating table djcelery_crontabschedule
Creating table djcelery_periodictasks
Creating table djcelery_periodictask
Creating table djcelery_workerstate
Creating table djcelery_taskstate
Run Code Online (Sandbox Code Playgroud)
然而,djkombu_queue
仍然缺少...
自从6天以来一直坚持同样的事情...以下终于为我解决了: -
pip install django-kombu
Run Code Online (Sandbox Code Playgroud)
然后添加djkombu
到INSTALLED APPS
: -
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'djcelery',
'djkombu',
'app1',
'app2',
'app3',
'app4',
)
Run Code Online (Sandbox Code Playgroud)
然后一个新鲜的syndb: -
python manage.py syncdb
Run Code Online (Sandbox Code Playgroud)
您可以使用以下方法检查架构: -
python manage.py sqlall djkombu
Run Code Online (Sandbox Code Playgroud)
小智 0
尝试这个:
在installed_apps中添加djcelery.transport
INSTALLED_APPS = ('djcelery.transport', )
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2903 次 |
最近记录: |