Как обрабатывать cron-табы для приложения Django на базе Docker, работающего на Linux Webapp в Azure, масштабируемом на несколько облачных сред

У меня есть Django-приложение на базе Docker, работающее на базе Linux Webapp в Azure, которое может масштабироваться от 1-5 экземпляров. Я хочу запускать cron-табы, которые выполняют команды управления внутри приложения Django, и нашел следующие подходы:

<

Я также нашел этот пример на github, как установить cron-tabs внутри docker-контейнера: https://github.com/Adiii717/docker-python-cronjob

  • Но проблема в том, что я не могу запустить его в среде Docker, поскольку cron-jobs будут выполняться несколько раз, если Webbapp будет масштабироваться на несколько экземпляров в Azure.
  • Я также не могу использовать Azure's Webjobs, поскольку он еще не доступен для Linux-based Webapps.

    Единственный вариант, который я вижу сейчас - это создание параллельного зеркального веб-приложения, которое ограничено использованием только одного экземпляра из Azure, что не создает проблемы с многократным запуском cronjobs - но это кажется неоптимальным, поскольку мне нужно развертывать два веб-приложения при каждом изменении кода, чтобы и "оригинальное" приложение, и "cronjobs-приложение" запускались на одной обновленной версии кодовой базы.

    Как я могу реализовать лучшее решение для этого?

    РЕДАКТИРОВАТЬ: Я видел, что, возможно, функции Time triggered Azure могут работать для этого: https://stackoverflow.com/a/57674619/17014863

    Однако не так много информации относительно этого подхода - например, могу ли я получить доступ к кодовой базе внутри моего приложения Docker-Django из функции и оттуда вызывать команды управления в моем Django-приложении?

    Вернуться на верх