tasks.py 687 B

12345678910111213141516171819
  1. # -*- coding: utf-8 -*-
  2. # !/usr/bin/env python
  3. from celery.utils.log import get_task_logger
  4. from apilib.utils_datetime import timestamp_to_dt
  5. from apps.web.ad.models import AdRecord
  6. from apps.web.core.utils import generate_excel_report
  7. logger = get_task_logger(__name__)
  8. def generate_ad_excel_report(filepath, queryAttrs):
  9. #: 此任务IO耗时大,所以将其作为异步任务
  10. queryAttrs['dateTimeAdded__lte'] = timestamp_to_dt(queryAttrs['dateTimeAdded__lte'])
  11. queryAttrs['dateTimeAdded__gte'] = timestamp_to_dt(queryAttrs['dateTimeAdded__gte'])
  12. records = [_.to_dict_in_cn() for _ in AdRecord.objects(**queryAttrs)]
  13. generate_excel_report(filepath, records)