我可以通过命令增加关键的“天数”
$ 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小时自动增加一次?
答案 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
芹菜日志
REDIS