From 6475048eec0d8616d073cc673e4c9986979f79b4 Mon Sep 17 00:00:00 2001 From: Kirosbr Date: Fri, 12 Apr 2024 14:35:00 +0200 Subject: [PATCH] =?UTF-8?q?cr=C3=A9ation=20t=C3=A2che=20cron?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mycaldav/apps.py | 5 +++++ mycaldav/cron.py | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 mycaldav/cron.py diff --git a/mycaldav/apps.py b/mycaldav/apps.py index af900b6..2495451 100644 --- a/mycaldav/apps.py +++ b/mycaldav/apps.py @@ -1,6 +1,11 @@ from django.apps import AppConfig +from mycaldav.cron import InitTaskSync class CaldavConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'mycaldav' + + def ready(self): + my_cron_job = InitTaskSync() + my_cron_job.start() diff --git a/mycaldav/cron.py b/mycaldav/cron.py new file mode 100644 index 0000000..1c9bdd0 --- /dev/null +++ b/mycaldav/cron.py @@ -0,0 +1,17 @@ +from django_cron import CronJobBase, Schedule + +from mycaldav.models import caldav_sync_manager +from mycaldav.settings import CALDAV_URL,CALDAV_USER,CALDAV_PASSWORD + +class InitTaskSync(CronJobBase): + RUN_AT_TIMES = [time(hour=7), time(hour=19)] + + schedule = Schedule(run_at_times=RUN_AT_TIMES,) + code = 'mycaldav.init_sync_task' # Un code unique pour votre tâche cron + + def do(self): + o_caldav_sync_management = caldav_sync_manager() + o_caldav_sync_management.init_caldav(caldav_url=CALDAV_URL, caldav_user=CALDAV_USER, caldav_password=CALDAV_PASSWORD) + o_caldav_sync_management.init_task_management() + + print('Ma tâche cron s\'exécute !')