|
- # from celery import Celery
-
- # # 创建 Celery 应用
- # celery_app = Celery(
- # 'ai_ops_wechat_app',
- # broker='redis://:telpo%231234@192.168.2.121:8090/3',
- # backend='redis://:telpo%231234@192.168.2.121:8090/3',
- # )
-
- # # 配置 Celery
- # celery_app.conf.update(
- # task_serializer='json',
- # accept_content=['json'],
- # result_serializer='json',
- # timezone='Asia/Shanghai',
- # enable_utc=True,
- # )
-
- # #celery_app.autodiscover_tasks(['app.tasks'])
-
- # from celery import Celery
-
- # def make_celery(app):
- # celery = Celery(
- # app.import_name,
- # backend=app.config['CELERY_RESULT_BACKEND'],
- # broker=app.config['CELERY_BROKER_URL']
- # )
- # celery.conf.update(app.config)
- # # 自动发现任务
- # celery.autodiscover_tasks(['app.tasks'])
- # return celery
-
- # # 初始化 Flask
- # app = Flask(__name__)
- # app.config.update(
- # CELERY_BROKER_URL='redis://:telpo%231234@192.168.2.121:8090/3',
- # CELERY_RESULT_BACKEND='redis://:telpo%231234@192.168.2.121:8090/3'
- # )
-
- # celery = make_celery(app)
-
- from celery import Celery
- import celery.schedules
- from redbeat import RedBeatSchedulerEntry
- from datetime import timedelta
-
- # 配置 Celery
- celery_app = Celery(
- "worker",
- broker="redis://:telpo%231234@192.168.2.121:8090/3",
- backend="redis://:telpo%231234@192.168.2.121:8090/3",
- include=['tasks']
- )
-
- # 配置 redbeat 作为 Celery Beat 调度器
- celery_app.conf.update(
- timezone="Asia/Shanghai", # 设定时区
- beat_scheduler="redbeat.RedBeatScheduler", # 使用 RedBeat 作为调度器
- redbeat_redis_url="redis://:telpo%231234@192.168.2.121:8090/3" # redbeat 存储任务调度信息的 Redis
- )
-
- task_name = "tasks.scheduled_task"
- # 任务执行间隔(每 10 秒执行一次)
- schedule = celery.schedules.schedule(timedelta(seconds=10))
-
- # RedBeat 任务唯一 ID
- redbeat_entry = RedBeatSchedulerEntry(
- name="redbeat:scheduled_task", # 任务 ID
- task=task_name, # 任务名称
- schedule=schedule, # 任务调度时间
- args=[],
- app=celery_app
-
- )
-
- # 保存任务到 Redis
- redbeat_entry.save()
-
- # 自动发现任务
- #celery.autodiscover_tasks(['tasks'])
|