Как сделать планировщик задач на Django для публикации постов
У меня цель - сделать планировщик постов в Телеграм. Я сделал на Django форму, куда пользователь заводит свой текст поста, канал, картинку, и время + дату (день недели) для публикации поста. Вопрос, как сделать планировщик для публикации?
Из простых идей, запускать раз в минуту планировщиком Windows Django custom management command и смотреть, если сейчас время поста, то публиковать. Из плюсов такого решения, что процесс будет запускаться новый и не будет блокировок, если в это время предыдущий запуск задачи не закончил работу. Но как-то это смотрится не очень.
Может есть более правильно решение, как это реализовать. Если описанный выше вариант не является костылем, то просьба так и написать, что это приемлемое решение.
Одно из более правильных решений было бы использовать библиотеку Celery для создания задач планировщика в Django. Эта библиотека позволяет легко создавать и настраивать задачи, которые могут выполняться в фоновом режиме и по расписанию. Вы можете настроить задачу, чтобы она запускалась в определенное время и день недели, и выполняла код, который будет отправлять пост в Telegram. Это более предпочтительное решение, чем запуск планировщиком Windows, потому что оно интегрируется непосредственно в ваш проект Django и может быть легко настроено и мониторировать.