我有一个队列,我在这个队列中连续每秒调用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崩溃。有什么办法吗?