为什么在django中运行syncdb时不会创建celery_taskmeta和其他表? [英] Why are celery_taskmeta and other tables not being created when running a syncdb in django?

查看:310
本文介绍了为什么在django中运行syncdb时不会创建celery_taskmeta和其他表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试设置芹菜和django,但是没有创建celery_taskmeta表。



我遵循了许多(Recent)教程,添加了djcelery和djkombu到我的installed_apps。添加了'BROKER_TRANSPORT =djkombu.transport.DatabaseTransport'行到我的设置等。



我可以运行守护进程,它将执行任务,但是它最后吐出这个追溯:



==============



任务slate.modules.filebrowser.tasks.gen_thumb_task [0afc564b-cc54-4f4c-83f5-6db56fb23b76]引发的异常($)$ $ $ $ $ $ :DatabaseError('no such table:celery_taskmeta',)
追溯(最近的最后一次调用):
文件/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages /celery/worker/job.py,第107行,execute_safe
return self.execute(* args,** kwargs)
文件/ Users / erichutchinson / python-env / slate / lib / python2.7 / site-packages / celery / worker / job.py,第125行,执行
return super(WorkerTaskTrace,self).execute()
文件/ Users / erichutchinson / python- env / slate / lib / python2.7 / site-packages / celery / execute / trace.py,第79行,in执行
retval = self._trace()
文件/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/celery/execute/trace.py,第93行,在_trace
r = handler(trace.retval,trace.exc_type,trace.tb,trace.strtb)
文件/Users/erichutchinson/python-env/slate/lib/python2.7/site packages / celery / worker / job.py,第140行,在handle_success
self.task.backend.mark_as_done(self.task_id,retval)
文件/ Users / erichutchinson / python-env / slate / lib / python2.7 / site-packages / celery / backends / base.py,第54行,mark_as_done
return self.store_result(task_id,result,status = states.SUCCESS)
文件/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/celery/backends/base.py,第194行,store_result
return self._store_result(task_id,result,status ,追溯,** kwargs)
文件/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/djcelery/backends/database.py,第20行,在_store_result
tra ceback = traceback)
文件/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/djcelery/managers.py,第36行,_inner
return fun( * args,** kwargs)
文件/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/djcelery/managers.py,第154行,store_result
traceback:traceback})
文件/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/djcelery/managers.py,第78行,update_or_create
return self.get_query_set()。update_or_create(** kwargs)
文件/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/djcelery/managers.py,第62行,在update_or_create
obj,created = self.get_or_create(** kwargs)
文件/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/django/db/models /query.py,第378行,get_or_create
return self.get(** lookup),False
文件/Users/erichutchinson/python-env/slate/lib/python2.7/site -packages / Django的/ DB /模型/查询.py,第344行,get
num = len(clone)
文件/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/django/db/ model / query.py,第82行,__len__
self._result_cache = list(self.iterator())
文件/Users/erichutchinson/python-env/slate/lib/python2.7 /site-packages/django/db/models/query.py,第273行,在iterator
中的compile.results_iter()中的行:
文件/ Users / erichutchinson / python-env / slate /lib/python2.7/site-packages/django/db/models/sql/compiler.py,第680行,在result_iter
for self.execute_sql(MULTI)中的行:
文件/用户/ erichutchinson / python-env / slate / lib / python2.7 / site-packages / django / db / models / sql / compiler.py,第735行,在execute_sql
cursor.execute(sql,params)
文件/Users/erichutchinson/python-env/slate/lib/python2.7/site- packages / django / db / backends / util.py,第34行,执行
return self。 cursor.execute(sql,params)
文件/ Users / erichutchinson / python-env / slate / l ib / python2.7 / site-packages / django / db / backends / sqlite3 / base.py,第234行,执行
return Database.Cursor.execute(self,query,params)
DatabaseError :没有这样的表:celery_taskmeta

- ============ ==============



所以如何在syncdb中创建这个表?

解决方案

进入完全相同的问题,全新安装。将芹菜和django-芹菜降级到2.2.7并重新运行syncdb解决了它(对于临时的,反正)。


I'm trying to setup celery and django, but the celery_taskmeta table is not being created.

I've followed numerous (Recent) tutorials, added djcelery and djkombu to my installed_apps. added the 'BROKER_TRANSPORT = "djkombu.transport.DatabaseTransport"' line to my settings, etc.

I can run the daemon just fine, and it will execute tasks, but it spits out this traceback at the end:

==============

 2011-08-05 16:21:16,231: ERROR/MainProcess] Task  slate.modules.filebrowser.tasks.gen_thumb_task[0afc564b-cc54-4f4c-83f5-6db56fb23b76] raised exception: DatabaseError('no such table: celery_taskmeta',)
 Traceback (most recent call last):
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/celery/worker/job.py", line 107, in execute_safe
    return self.execute(*args, **kwargs)
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/celery/worker/job.py", line 125, in execute
    return super(WorkerTaskTrace, self).execute()
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/celery/execute/trace.py", line 79, in execute
    retval = self._trace()
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/celery/execute/trace.py", line 93, in _trace
    r = handler(trace.retval, trace.exc_type, trace.tb, trace.strtb)
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/celery/worker/job.py", line 140, in handle_success
    self.task.backend.mark_as_done(self.task_id, retval)
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/celery/backends/base.py", line 54, in mark_as_done
    return self.store_result(task_id, result, status=states.SUCCESS)
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/celery/backends/base.py", line 194, in store_result
    return self._store_result(task_id, result, status, traceback, **kwargs)
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/djcelery/backends/database.py", line 20, in _store_result
    traceback=traceback)
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/djcelery/managers.py", line 36, in _inner
    return fun(*args, **kwargs)
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/djcelery/managers.py", line 154, in store_result
    "traceback": traceback})
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/djcelery/managers.py", line 78, in update_or_create
    return self.get_query_set().update_or_create(**kwargs)
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/djcelery/managers.py", line 62, in update_or_create
    obj, created = self.get_or_create(**kwargs)
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/django/db/models/query.py", line 378, in get_or_create
    return self.get(**lookup), False
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/django/db/models/query.py", line 344, in get
    num = len(clone)
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/django/db/models/query.py", line 82, in __len__
    self._result_cache = list(self.iterator())
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/django/db/models/query.py", line 273, in iterator
    for row in compiler.results_iter():
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 680, in results_iter
    for rows in self.execute_sql(MULTI):
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 735, in execute_sql
    cursor.execute(sql, params)
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site- packages/django/db/backends/util.py", line 34, in execute
    return self.cursor.execute(sql, params)
  File "/Users/erichutchinson/python-env/slate/lib/python2.7/site- packages/django/db/backends/sqlite3/base.py", line 234, in execute
    return Database.Cursor.execute(self, query, params)
 DatabaseError: no such table: celery_taskmeta

-============================

so how the hell do i get this table created during syncdb?

解决方案

Ran into the exact same issue, fresh install. Downgrading celery and django-celery to 2.2.7 and rerunning syncdb solved it (for the interim, anyway).

这篇关于为什么在django中运行syncdb时不会创建celery_taskmeta和其他表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆