每24小时增加关键天数

时间:2018-08-18 02:05:00

标签: redis

我可以通过命令增加关键的“天数”

$ redis-cli
127.0.0.1:6379> set days 1
OK
127.0.0.1:6379> incr days
(integer) 2
127.0.0.1:6379> get days
"2"

我如何每24小时自动增加一次?

1 个答案:

答案 0 :(得分:0)

首先,您需要添加celery conf read doc。像这样的东西:

import os
from celery import Celery

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.settings')

app = Celery('allunac', broker='redis://localhost:6379/0')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()

我选择redis作为代理,因为您在项目中使用它,但是您可以选择另一个代理,例如RabbitMQ read doc

由于您需要定期执行任务,因此也需要进行芹菜拍打read doc

添加任务:

from datetime import timedelta
from django.core.cache import cache
from celery.decorators import periodic_task

@periodic_task(run_every=timedelta(seconds=30))
def redis_add():
    if not cache.get('days'):
        cache.set('days', 1)  # set initial value
    else:
        cache.incr('days', 2)  # increase by 2

用节拍运行芹菜:

celery -A proj worker -l info -B

芹菜日志

enter image description here

REDIS

enter image description here