Как лучше всего сделать представление исполняемым через cron или Heroku schedular? - PullRequest
0 голосов
/ 30 мая 2020

У меня такое мнение. Шаблон просто спрашивает: «Вы уверены, что хотите выполнить X?», Если пользователь нажимает «Да», он отправляет бланк, для которого затем выполняет код в разделе `if request.method == 'POST': '.

Мне нужно, чтобы этот же код выполнялся раз в ночь с помощью Heroku Schedular. Heroku schedular позволяет мне выполнять задачи администратора по заданному расписанию, например, каждый день в 2 часа ночи я могу выполнить python manage.py someAdminCommand

Как лучше всего организовать этот код, чтобы он мог выполняться как представлением, так и командой администратора без написания кода дважды в команде просмотра и администратора? Код не требует ввода от пользователя, он просто запрашивает базу данных и отправляет данные в другой микросервис.

Я подумал, может быть, поместить этот код в функцию в новой библиотеке (python файл ), а затем вызвать его как из представления, так и из команды администратора?

Views.py

@login_required
def populategsheet(request):
    if request.method == 'POST':

        print('Populating Google Sheet...')
        # A bunch of code here
    return render(request, 'journal/populate_gsheet.html')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...