Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m53s
CI/CD Pipeline / Run Tests (push) Successful in 2m19s
CI/CD Pipeline / Build Docker Images (push) Successful in 3m26s
CI/CD Pipeline / Push to Gitea Registry (push) Failing after 20s
CI/CD Pipeline / Deploy to Server (push) Has been skipped
28 lines
844 B
Python
28 lines
844 B
Python
"""Celery задачи для формы Ф-6."""
|
|
|
|
import logging
|
|
from io import BytesIO
|
|
|
|
from apps.core.tasks import TrackedTask
|
|
from apps.form_6.services import FormF6Parser
|
|
from celery import shared_task
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
@shared_task(bind=True, base=TrackedTask)
|
|
def process_form_f6_file(
|
|
self,
|
|
file_content: bytes,
|
|
file_name: str,
|
|
report_year: int,
|
|
report_quarter: int | None = None,
|
|
) -> dict:
|
|
logger.info(f"Начало обработки файла Ф-6: {file_name}")
|
|
parser = FormF6Parser(report_year=report_year, report_quarter=report_quarter)
|
|
result = parser.parse(BytesIO(file_content))
|
|
logger.info(
|
|
f"Обработка Ф-6 завершена: {result.loaded_count} загружено, {result.skipped_count} пропущено"
|
|
)
|
|
return result.to_dict()
|