我有一个个人网站,我想跟踪比特币的价格,但我希望代码在网站的后端每五分钟运行一次。
我对芹菜很陌生,所以我不太了解我在做什么。话虽如此,我已经更新了我的installed_apps,我已经导入了djcelery,并且我已经完成了对设置页面的所有更新。
我通过管理网站设置了一个定期任务,因为它看起来非常简单,但是尽管我的函数是任务选项,但我无法自动运行代码。
我很困在这里,任何帮助都会很棒。谢谢。
def bitcoin():
url = "https://api.coindesk.com/v1/bpi/currentprice.json"
request = Request(url)
response = urlopen(request)
the_page = response.read()
data = json.loads(the_page)
btc_price = data['bpi']['USD']['rate']
print('According to CoinDesk, the price of bitcoin is: ' +
str(btc_price))
你可以查看 Django celery cron schedules 文档,其中有几个创建计划任务的示例。
以下是他们文档中的一个微不足道的例子:
from celery.schedules import crontab
app.conf.beat_schedule = {
# Executes every Monday morning at 7:30 a.m.
'add-every-monday-morning': {
'task': 'tasks.add',
'schedule': crontab(hour=7, minute=30, day_of_week=1),
'args': (16, 16),
},
}