我将celery和redis作为后端使用,但出现了以下问题: 当我使用add.apply_async((1,2),task_id ='1')执行任务时,我得到的结果就是我想要的redis“ user:1:key”,但是当我再次执行其他任务时id add.apply_async((1,2),task_id ='2')我在redis“ celery-task-meta-2”中得到了这个结果。
我在Django应用设置中使用“用户”作为前缀。
设置:
# CELERY/REDIS settings
BROKER_URL = 'redis://localhost:6379/0'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_TIMEZONE = 'Africa/Casablanca'
CELERY_SEND_EVENTS=True
CELERY_RESULT_BACKEND='redis://localhost:6379/1'
# REDIS CACHE settings
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://localhost:6379/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
},
"KEY_PREFIX": "user"
}
}