【问题标题】:Execute Django shell command as cron作为 cron 执行 Django shell 命令
【发布时间】:2015-05-18 01:30:10
【问题描述】:
我正在尝试以cron 的身份执行 Django shell 命令,
我有一些查询和对象任务要使用我的 django 应用程序的模型和查询进行搜索和读写。
我怎样才能每天执行 1 或 2 次?
例如,如何定期运行这些查询:
from django.contrib.auth.models import User
from perfil.models import *
for user in usuarios:
profiles = Perfil.objects.filter(user=user)
create_task = Task.objects.create(user=user)
【问题讨论】:
标签:
python
django
cron
scheduled-tasks
django-shell
【解决方案1】:
看看Custom management commands for django。
作为一个基本示例:
from django.core.management.base import BaseCommand, CommandError
from django.contrib.auth.models import User
from perfil.models import *
class Command(BaseCommand):
help = 'What does this do? '
def handle(self, *args, **options):
for user in usuarios:
profiles = Perfil.objects.filter(user=user)
create_task = Task.objects.create(user=user)
附带说明,您应该更明确地说明您的导入,而不是使用from perfil.models import *。
从此,您可以根据保存的文件执行命令。如果您将文件保存在yourapp/management/commands/dofunstuff.py,则可以通过python manage.py dofunstuff执行。