Запуск Python скрипта через планировщик Windows

В одной из записей блога я писал как можно автоматизировать выполнение скрипта при помощи 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 вашего Джанго проекта.

Добавить комментарий

Ваш адрес email не будет опубликован.