modif cron

This commit is contained in:
2024-04-12 15:12:27 +02:00
parent 0f3adecf91
commit a94a0b0fe8
6 changed files with 23 additions and 13 deletions

View File

@@ -3,7 +3,12 @@ FROM python:3.9
WORKDIR /app
COPY . .
RUN pip install --no-cache-dir -r requirements.txt
COPY crons_jobs /etc/cron.d/django_crons_jobs
RUN apt-get update && apt-get install -y cron
RUN chmod 0644 /etc/cron.d/django_crons_jobs && crontab /etc/cron.d/django_crons_jobs && touch /var/log/cron.log && tail -f /var/log/cron.log
RUN apt update && apt install cron && pip install --no-cache-dir -r requirements.txt
RUN python manage.py makemigrations && python manage.py migrate

View File

@@ -39,6 +39,7 @@ CSRF_TRUSTED_ORIGINS = ['https://rh.ambulance-clerc.ch']
LOGIN_REDIRECT_URL = '/admin'
INSTALLED_APPS = [
'jazzmin',
'django_cron',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
@@ -55,7 +56,6 @@ INSTALLED_APPS = [
'django.contrib.admin',
'carnet_rouge.apps.CarnetRougeConfig',
'django_summernote',
'django-cron',
]
INSTALLED_APPS += ( 'apilog.apps.ApilogConfig',)
@@ -135,6 +135,10 @@ MIDDLEWARE = [
'django.middleware.locale.LocaleMiddleware',
]
CRON_CLASSES = [
"mycaldav.cron.InitTaskSync",
]
CORS_ALLOWED_ORIGINS = [
"http://33.144.144.13:4173",
"http://33.144.144.13:5173",

2
crons_jobs Normal file
View File

@@ -0,0 +1,2 @@
# Exécute la tâche cron toutes les heures
*/5 * * * * cd /app && python manage.py runcrons

View File

@@ -1,11 +1,7 @@
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()

View File

@@ -1,15 +1,19 @@
from django_cron import CronJobBase, Schedule
import django
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)]
RUN_AT_TIMES = ['07:00', '19:00']
schedule = Schedule(run_at_times=RUN_AT_TIMES,)
code = 'mycaldav.init_sync_task' # Un code unique pour votre tâche cron
def do(self):
django.setup()
from mycaldav.models import caldav_sync_manager
from mycaldav.settings import CALDAV_URL,CALDAV_USER,CALDAV_PASSWORD
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()

View File

@@ -8,7 +8,6 @@ app_name = "mycaldav"
urlpatterns = [
path('task', views.view_task_caldav, name='view_task_caldav'),
path('task/edit', views.view_task_edit_caldav, name='view_task_edit_caldav'),
path('task/init', views.view_init_sync_management, name='view_init_sync_management'),
path('vhc', views.view_vhc_caldav, name='view_vhc_caldav'),
path('vhc/edit', views.view_vhc_edit_caldav, name='view_vhc_edit_caldav'),
path('rh', views.view_rh_caldav, name='view_rh_caldav'),