diff --git a/django/core/celery_settings.py b/django/core/celery_settings.py index 1e189d5d2fde1e654cf17b5ab6fe4418d31b5624..2b68a45ec68a9159144662d43b0aacdd86728c55 100644 --- a/django/core/celery_settings.py +++ b/django/core/celery_settings.py @@ -48,4 +48,17 @@ CELERY_BEAT_SCHEDULE = { 'schedule': crontab(minute='*/5'), 'options': {'expires': 5 * 60}, }, + 'send-queued-mail-every-minute': { + 'task': 'general.tasks.send_queued_mail', + 'schedule': crontab(minute='*'), + }, + 'get-new-mail-every-minute': { + 'task': 'general.tasks.get_new_mail', + 'schedule': crontab(minute='*'), + }, + 'cleanup-mail-daily': { + 'task': 'general.tasks.cleanup_mail', + 'schedule': crontab(hour=1, minute=0), + 'args': (30,), # Pass the number of days as an argument + }, } diff --git a/django/core/settings.py b/django/core/settings.py index fee3c6fd64bf8bc891317b9ff3f09474b2b88787..4ca7271de98ab5d9cd2e29f5e7a454ec96450b68 100644 --- a/django/core/settings.py +++ b/django/core/settings.py @@ -28,6 +28,7 @@ INSTALLED_APPS = [ 'django_celery_beat', 'django_celery_results', 'django_contact_form', + 'django_mail_admin', ] MIDDLEWARE = [ diff --git a/django/general/tasks.py b/django/general/tasks.py new file mode 100644 index 0000000000000000000000000000000000000000..15ff3edbb8093b7ee0759183ed54837136e5357c --- /dev/null +++ b/django/general/tasks.py @@ -0,0 +1,14 @@ +from celery import shared_task +from django.core.management import call_command + +@shared_task +def send_queued_mail(): + call_command('send_queued_mail', processes=1) + +@shared_task +def get_new_mail(): + call_command('get_new_mail') + +@shared_task +def cleanup_mail(days=30): + call_command('cleanup_mail', days=days) \ No newline at end of file