如何防止服务器因芹菜队列中的任务数量而崩溃

时间:2015-12-29 07:48:26

标签: django python-2.7 rabbitmq celery django-celery

我有一个队列,我在这个队列中连续每秒调用50个任务,队列需要1秒才能执行一个任务 。现在其他任务处于挂起/等待状态,因此它消耗服务器内存 和 2小时后,服务器/ rabitmq崩溃。

那么有没有办法对待处理任务设置限制,还是可以在一段时间限制后删除待处理任务?

这是我的芹菜配置设置:

app = Celery('uhr', backend='amqp',     
broker='amqp://guest:guest@localhost:5672//')

app.conf.update(
    CELERY_TASK_SERIALIZER='json',
    CELERY_ACCEPT_CONTENT=['json', 'pickle'],  
    CELERY_RESULT_SERIALIZER='json',
    CELERY_TIMEZONE='Europe/Madrid', 
    CELERY_ENABLE_UTC=True,
    # CELERYD_NODES=3,
    # CELERYD_CONCURRENCY = 2,
    CELERY_IGNORE_RESULT = True,
    CELERYD_MAX_TASKS_PER_CHILD = 1,
    CELERY_ACKS_LATE = True,
    CELERYD_PREFETCH_MULTIPLIER = 1,
    CELERY_TASK_RESULT_EXPIRES = 1800,
    CELERY_AMQP_TASK_RESULT_EXPIRES = 1200,
    CELERY_ROUTES={
        'myproject.tasks.testqueue':{'queue':'myqueue'},

    }
)

我想阻止我的服务器/ rabitmq崩溃。有什么办法吗?

0 个答案:

没有答案