我試圖讓某個 Python 腳本每周在 Django shell 中運行。我怎樣才能做到這一點?我已經閱讀了有關 cron 和 django-rq 的資訊,但我認為在給定的引數中這是不可能的。
提前致謝!
PS.:有問題的代碼,它只是洗掉舊資料庫并添加更新的資料庫:
from formcheck.models import FormCheck
import csv
FormCheck.objects.all().delete()
formcheck_csv = open('PolisCheck.csv', 'r', encoding = "utf-8")
reader = csv.reader(formcheck_csv)
headers = next(reader, None)[1:]
for row in reader:
polis_dict = {}
for h, val in zip(headers, row[1:]):
polis_dict[h] = val
formcheck = FormCheck.objects.create(**polis_dict)
formcheck_csv.close()
exit()
uj5u.com熱心網友回復:
這正是 cron 的用途。
而不是使用單獨的 python 腳本創建 django 命令。創建 your_app/commands/remove_db.py 檔案。
from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
args = ''
help = 'Remove old database'
def handle(self, *args, **options):
# put your removal logic here
然后,在命令列中:
$ python manage.py remove_db
現在,使用 crontab 向 Linux 系統添加新的 cron 任務很容易:
# m h dom mon dow command
0 0 * * 0 python /var/www/myapp/manage.py remove_db
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/430794.html
上一篇:有沒有辦法巧妙地撰寫下面的代碼?
