liusarazhang 2019-12-06
1:目录结构
|--celery_task
|--celery.py # 执行任务的main函数
|--task_one # 第一个任务
|--task_two # 第2个任务
. .
. .
|--task_. # 第n个任务2:celery.py
from celery import Celery # 导入celery模块
from celery.schedules import crontab # 周期定义工具包
# 配置任务
celery_task = Celery(
"task",
broker="redis://127.0.0.1:6379",
backend="redis://127.0.0.1:6379",
include=["Celery_task.task_one",] # 任务文件夹名称.任务文件,多个往后面添加
)
# crontab(minute=‘*/720‘) # 12小时执行一次
# "schedule": 10, # 每10秒钟执行一次
# 周期时间定义
celery_task.conf.beat_schedule = {
"each1d_task": {
"task": "Celery_task.task_keyword.monitored_ranking", # 要执行的函数名
"schedule": crontab(minute=‘*/720‘), # 12小时执行一次
# "args": (10, 10)
},
}3:任务文件配置
from Celery_task.celery import celery_task # 导入执行主函数文件
from keywords.views.celery_monitored_ranking import KeywordRun # 这里是直接导入执行的文件的执行函数
import traceback # 日志错误详细显示模块
from logging_files import logging_main # 导入日志对象
@celery_task.task # 配置文件中的名称要一样
def monitored_ranking():
try:
KeywordRun() # 执行函数
except Exception as e:
msg = traceback.format_exc()
logging_main.monitored_ranking_error.error(msg)