|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244 |
-
- import celery.schedules
- from redbeat import RedBeatSchedulerEntry
- from datetime import timedelta
- from celery.schedules import crontab
-
- from celery_config import *
-
- from services.redis_service import RedisService
- from services.kafka_service import KafkaService
- from services.biz_service import BizService
-
-
- from urllib.parse import quote
- import asyncio,os,random,sys
-
- from common.log import logger
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- scheduled_task_sync_wx_info_interval = 6000
- environment = os.environ.get('environment', 'default')
- if environment != 'default':
- scheduled_task_sync_wx_info_interval = 60*11
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- random_minute = random.randint(0, 59)
- random_hour = random.randint(0, 23)
-
-
-
- tasks_schedule = [
-
- ("redbeat:scheduled_task_sync_wx_info", "tasks.scheduled_task_sync_wx_info",
- celery.schedules.schedule(timedelta(seconds=scheduled_task_sync_wx_info_interval)),
- [redis_config, kafka_config, gewe_config]),
-
-
-
-
-
-
- ]
-
-
- for task_id, task_name, schedule_obj, task_args in tasks_schedule:
- redbeat_entry = RedBeatSchedulerEntry(
- name=task_id,
- task=task_name,
- schedule=schedule_obj,
- args=task_args,
- app=celery_app
- )
- redbeat_entry.save()
-
- if task_name == "tasks.add_friends_task":
- if isinstance(schedule_obj, crontab):
- print(f"已注册 `{task_name}` 任务,将在每小时的第 {random_minute} 分钟执行")
- logger.info(f"已注册 `{task_name}` 任务,将在每小时的第 {random_minute} 分钟执行")
- else:
- print('scheduled_task_sync_wx_info 定时任务执行成功!')
- logger.info(f"scheduled_task_sync_wx_info 定时任务执行成功!")
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
|