我可以通过命令增加关键的“天数”
$ 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 小时自动增加一次?
最佳答案
首先你需要添加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 .
因为您需要定期执行任务,所以您也需要 celery beat,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 :
celery -A proj worker -l info -B
celery 原木
REDIS
关于redis - 每24小时增加关键天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51904662/