Как отправить уведомление до истечения 30 дней с момента истечения срока действия в django?
Как мне запланировать уведомление для этой программы, я использую каналы для создания уведомления и использую "crontab" для планирования, но это не работает.............
пожалуйста, предоставьте точное решение...
def my_schedule_job():
vehicle_objs = Vehicle.objects.all()
for vehicle_obj in vehicle_objs:
insurance_expiry = vehicle_obj.insurance_expiry
insurance_expiry_date = insurance_expiry - timedelta(days=5)
today = date.today()
print('insurance_expiry_date',insurance_expiry_date)
print('today',today)
if insurance_expiry_date == today:
notification_obj = Notification(user_id=vehicle_obj.user_id,notification="Your insurance for {} will expire on {}".format(vehicle_obj.vehicle,insurance_expiry) ,is_seen=False)
notification_obj.save()
elif insurance_expiry_date <= today:
notification_obj = Notification(user_id=vehicle_obj.user_id,notification=vehicle_obj.vehicle + " insurance is going to expire on " + str(insurance_expiry),is_seen=False)
notification_obj.save()
вы захотите создать пользовательскую команду manage.py для решения вашей проблемы. Для этого вам нужно создать структуру каталогов <appname>/management/commands и поместить ваш код в файл в этом каталоге, причем имя файла для кода должно содержать имя команды, которую вы хотите запустить. Например, emails.py.
После этого идут функции, которые Django ожидает увидеть присутствующими в вашей пользовательской команде управления. Вы захотите поместить свой код в соответствующие функции.
Просмотрите этот URL и дайте мне знать, если у вас возникнут проблемы?
Удачи.