小编mou*_*u55的帖子

InterfaceError:连接已经关闭(使用django + celery + Scrapy)

在Celery任务中使用Scrapy解析函数(有时可能需要10分钟)时,我得到了这个.

我使用: - Django == 1.6.5 - django-celery == 3.1.16 - celery == 3.1.16 - psycopg2 == 2.5.5(我也用psycopg2 == 2.5.4)

[2015-07-19 11:27:49,488: CRITICAL/MainProcess] Task myapp.parse_items[63fc40eb-c0d6-46f4-a64e-acce8301d29a] INTERNAL ERROR: InterfaceError('connection already closed',)
Traceback (most recent call last):
  File "/home/mo/Work/python/pb-env/local/lib/python2.7/site-packages/celery/app/trace.py", line 284, in trace_task
    uuid, retval, SUCCESS, request=task_request,
  File "/home/mo/Work/python/pb-env/local/lib/python2.7/site-packages/celery/backends/base.py", line 248, in store_result
    request=request, **kwargs)
  File "/home/mo/Work/python/pb-env/local/lib/python2.7/site-packages/djcelery/backends/database.py", line 29, in _store_result
    traceback=traceback, children=self.current_task_children(request),
  File "/home/mo/Work/python/pb-env/local/lib/python2.7/site-packages/djcelery/managers.py", line 42, in _inner
    return fun(*args, **kwargs)
  File "/home/mo/Work/python/pb-env/local/lib/python2.7/site-packages/djcelery/managers.py", line 181, in store_result
    'meta': {'children': children}})
  File …

python django scrapy celery

14
推荐指数
3
解决办法
1万
查看次数

通过 Django 中的空 JsonField 查询

我需要通过 a 查询模型JsonField,我想获取所有具有空值 ([]) 的记录:

我使用过MyModel.objects.filter(myjsonfield=[])但它不起作用,尽管有记录,但它返回 0 结果myjsonfield=[]

python django django-jsonfield

5
推荐指数
2
解决办法
1723
查看次数

使用 current_app.send_task 时 Celery 任务路由不起作用

使用 current_app.send_task 时,我遇到 Celery 队列路由问题

我有两名工作人员(每个队列各一名)

python manage.py celery worker -E -Q priority --concurrency=8 --loglevel=DEBUG
python manage.py celery worker -Q low --concurrency=8 -E -B --loglevel=DEBUG
Run Code Online (Sandbox Code Playgroud)

我在 celeryconfig.py 文件中定义了两个队列:

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.core.exceptions import ImproperlyConfigured

from celery import Celery
from django.conf import settings

try:
    app = Celery('proj', broker=getattr(settings, 'BROKER_URL', 'redis://'))
except ImproperlyConfigured:
    app = Celery('proj', broker='redis://')

app.conf.update(
    CELERY_TASK_SERIALIZER='json',
    CELERY_ACCEPT_CONTENT=['json'],
    CELERY_RESULT_SERIALIZER='json',
    CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend',
    CELERY_DEFAULT_EXCHANGE='tasks',
    CELERY_DEFAULT_EXCHANGE_TYPE='topic',
    CELERY_DEFAULT_ROUTING_KEY='task.priority',
    CELERY_QUEUES=(
        Queue('priority',routing_key='priority.#'),
        Queue('low', routing_key='low.#'),
    ),
    CELERY_DEFAULT_EXCHANGE='priority',
    CELERY_IMPORTS=('mymodule.tasks',)

CELERY_ENABLE_UTC = True …
Run Code Online (Sandbox Code Playgroud)

python django redis celery djcelery

2
推荐指数
1
解决办法
4985
查看次数

标签 统计

django ×3

python ×3

celery ×2

django-jsonfield ×1

djcelery ×1

redis ×1

scrapy ×1