如何在 Django 中将参数传递给计划的 cron 任务?
How do I pass argument to a scheduled cron task, in Django?
我设置了一个 cron 作业来每分钟递减所有对象的 IntegerField。
但它抛出错误:
TypeError: decrement_days_till_study() missing 1 required positional argument: 'Card'
但我不知道如何通过这个。
cron.py
from . models import Card
def decrement_days_till_study(Card):
for card in Card.objects.all():
if card > 1:
card.days_till_study -= 10
card.save()
我的模型与 cron.py.
在同一个文件夹中
我的设置
INSTALLED_APPS = [
'django_crontab'
]
CRONJOBS = [
('*/1 * * * *', 'spaced_repitition.cron.decrement_days_till_study')]
我通过打印一个工作正常的字符串来测试 cron。
知道如何解决这个问题吗?
感谢阅读。
这里不是 Django 专家,但似乎您正在通过定义函数变量来覆盖您的导入。
尝试从函数参数列表中删除 Card
:
from . models import Card
def decrement_days_till_study():
for card in Card.objects.all():
if card > 1:
card.days_till_study -= 10
card.save()
我设置了一个 cron 作业来每分钟递减所有对象的 IntegerField。
但它抛出错误:
TypeError: decrement_days_till_study() missing 1 required positional argument: 'Card'
但我不知道如何通过这个。
cron.py
from . models import Card
def decrement_days_till_study(Card):
for card in Card.objects.all():
if card > 1:
card.days_till_study -= 10
card.save()
我的模型与 cron.py.
在同一个文件夹中我的设置
INSTALLED_APPS = [
'django_crontab'
]
CRONJOBS = [
('*/1 * * * *', 'spaced_repitition.cron.decrement_days_till_study')]
我通过打印一个工作正常的字符串来测试 cron。
知道如何解决这个问题吗?
感谢阅读。
这里不是 Django 专家,但似乎您正在通过定义函数变量来覆盖您的导入。
尝试从函数参数列表中删除 Card
:
from . models import Card
def decrement_days_till_study():
for card in Card.objects.all():
if card > 1:
card.days_till_study -= 10
card.save()