В одной из записей блога я писал как можно автоматизировать выполнение скрипта при помощи cron и linux. Тогда речь шла о WSL (подсистема Linux для Windows). К сожалению с производительностью у WSL пока не все гладко, поэтому пришлось все портировать на Windows.
Сам вопрос запуска скрипта по расписанию в Windows на самом деле очень прост. Нужно лишь создать батник (файл с расширением .bat) прописать в нем все необходимые манипуляции и настроить выполнение данного файла в планировщике. Делается это так:
- В текстовом редакторе создаете новый файл
- Добавляете в него ваш код, в моем случае это одна строчка
C:\Users\User\.virtualenvs\site-GQljvJBG\Scripts\python.exe «D:/dev/site/backend/cron.py» - Сохраняете файл с расширением .bat, например cron.bat.
- В планировщике прописываете его выполнение
Особенности запуска Django кода
Если вы пропишите запуск какого нибудь Django скрипта то получите ошибку.
django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings
Данная ошибка говорит о том, что для запуска скрипта нужн о сконфигурировать окружение, погружаться в дебри конфигураций не буду, отмечу лишь вариант решения проблемы.
В начале своего файла добавьте строчки кода
import os import django<br>os.environ["DJANGO_SETTINGS_MODULE"] = 'project.settings' django.setup()
Где ‘project.settings’ путь к файлу settings.py вашего Джанго проекта.