Update Celery configuration and add customer tasks
This commit is contained in:
@@ -1,34 +1,14 @@
|
||||
"""
|
||||
Celery configuration for myproject with django-tenants support.
|
||||
|
||||
IMPORTANT: В мультитенантной среде все задачи должны:
|
||||
1. Получать schema_name в параметрах
|
||||
2. Активировать нужную схему через connection.set_schema()
|
||||
3. Это гарантирует изоляцию данных по тенантам
|
||||
"""
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
import os
|
||||
import logging
|
||||
from celery import Celery
|
||||
from django.conf import settings
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
# Указываем Django settings module
|
||||
# Устанавливаем переменную окружения для настроек Django
|
||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')
|
||||
|
||||
# Создаем Celery app
|
||||
app = Celery('myproject')
|
||||
|
||||
# Загружаем конфигурацию из Django settings с префиксом CELERY_
|
||||
# Загружаем настройки из Django
|
||||
app.config_from_object('django.conf:settings', namespace='CELERY')
|
||||
|
||||
# Автоматическое обнаружение tasks.py в приложениях
|
||||
# Это позволяет использовать @shared_task в любом приложении
|
||||
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
|
||||
|
||||
|
||||
@app.task(bind=True, ignore_result=True)
|
||||
def debug_task(self):
|
||||
"""Тестовая задача для проверки работы Celery"""
|
||||
print(f'Request: {self.request!r}')
|
||||
logger.info('Celery is working!')
|
||||
# Автоматическое обнаружение задач в приложениях Django
|
||||
app.autodiscover_tasks()
|
||||
|
||||
@@ -599,6 +599,11 @@ CELERY_BEAT_SCHEDULE = {
|
||||
'queue': 'photo_processing',
|
||||
},
|
||||
},
|
||||
# Очистка устаревших файлов ошибок импорта клиентов каждый день в полночь
|
||||
'delete-old-import-error-files-every-24-hours': {
|
||||
'task': 'customers.tasks.delete_old_import_error_files',
|
||||
'schedule': crontab(hour=0, minute=0), # Запускать каждый день в полночь
|
||||
},
|
||||
}
|
||||
|
||||
# ============================================
|
||||
|
||||
Reference in New Issue
Block a user