我有以下任务:
from __future__ import absolute_import
from myproject.celery import app
from myapp.models import Entity
@app.task
def add(entity_id):
entity = Entity.objects.get(pk=entity_id)
return entity.name
我收到以下错误:
django.core.exceptions.ImproperlyConfigured:请求的设置
DEFAULT_INDEX_TABLESPACE,但未配置设置。你必须
定义环境变量 DJANGO_SETTINGS_MODULE 或调用
访问设置之前的 settings.configure() 。
如果我取出实体导入,一切都很好并且不会发生错误。添加回来时:
from myapp.models import Entity
错误返回。
from __future__ import unicode_literals
from django.contrib.auth.models import User
from django.db import models
from django.core.mail import EmailMultiAlternatives
from django.template import Context, loader
from django.utils.html import strip_tags
class Entity(models.Model):
area = models.ForeignKey(Area)
name = models.CharField(max_length=255)
type = models.CharField(max_length=255)
status = models.IntegerField(choices=STATUS_TYPES, default=0)
created_at = models.DateTimeField(auto_now_add = True)
updated_at = models.DateTimeField(auto_now = True)
def __unicode__(self):
return self.name
如何将 django 模型导入到 celery 任务中?
我的芹菜文件需要有:
from __future__ import absolute_import
import os
from celery import Celery
# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')
from django.conf import settings # noqa
感谢您帮助我得出这个结论@mtndesign
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)