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)

【python小随笔】celery周期任务(简单原理)的更多相关文章

  1. 【python小随笔】进程池 multiprocessing.Pool的简单实现与踩过的坑

    #导入进程模块 import multiprocessing #创建进程池 坑:一定要在循环外面创建进程池,不然会一直创建 pool = multiprocessing.Pool(30) for Si ...

  2. 【python小随笔】celery异步任务与调用返回值

    s1.py(配置任务文件) from celery import Celery import time my_task = Celery("tasks", broker=" ...

  3. Python小项目四:实现简单的web服务器

    https://blog.csdn.net/u010103202/article/details/74002538 本博客是整理在学习实验楼的课程过程中记录下的笔记形成的,参考:https://www ...

  4. 【python小随笔】函数的初始化与私有化

    1:初始化 class test(object): def __init__(self,name):#初始化函数 self.name = name#构造初始化一个变量为类的全局变量, 类的所有函数都可 ...

  5. python小随笔

    关于pip安装 .\pip.exe install --ignore-installed --upgrade tensorflow-gpu python可视化库 Seaborn:是一个基于matplo ...

  6. 【python小随笔】字典的使用

    字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据. 比如有份成绩表数据,语文:79,数学:80,英语:92,这组数据看上去像两个列表,但这两个列表的元素之间有一定的关联关 ...

  7. 【python小随笔】单例模式设计(易懂版)

    1:单例模式原理 大道理:希望在系统中某个对象只能存在一个,单例模式是最好的解决方案,单例模式是一种常见的软件设置模式,在它的核心结构中只包含一个被称为单例类的特殊类,通过单例模式可以保证系统中的一个 ...

  8. 【python小随笔】List列表的常见函数与切片

    eval()的使用 n = ["2.3","2.56"] m = [] for i in n: k = eval(i) #只是去了最外层的双引号,单引号, 规定 ...

  9. 【python小随笔】pycharm的永久破解

    PS:这里有人会遇到第一次输入补丁的破解命令后,重启后启动不了软件,这个时候需要卸载(unstall把配置都得删除了),然后重新下载软件,再用这个步骤就OK了~~版本一定要低于最新版本两个以上,最好用 ...

随机推荐

  1. vue 模版组件用法

    第一种 //首先,别忘了引入vue.js <div id="user_name_01"></div> <script src="../nod ...

  2. Python开发第三方必备工具

      <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style=&quo ...

  3. HZOI20190908模拟40 队长快跑,影魔,抛硬币 题解

    题面:https://www.cnblogs.com/Juve/articles/11487699.html 队长快跑: 权值线段树与dp yy的不错 #include<iostream> ...

  4. Web API 上传下载文件

    1.引用了一个第三方组件 ICSharpCode.SharpZipLib.Zip; 2.具体代码 实体类,可以用hashtable 替代 ,感觉hashtable 比较灵活 public class ...

  5. PHP--时间搜索插件封装

    /** * 时间搜索插件封装 * anthor qinpeizhou * @param $timeset 时间格式 * @param $time sql语句中所需要搜索的time字段名称 * @par ...

  6. UITableViewHeaderFooterView can't change custom background when loading from nib

    down voteforite I've created a custom UITableViewHeaderFooterView and successfully load from nib int ...

  7. C++和G++手工开栈的=_=

    微软的编译器(C++) #pragma comment(linker, "/STACK:102400000,102400000") G++ << ; // 256MB ...

  8. SQLServer-Version:SQLServer版本对应内部数据库版本号配置表

    ylbtech-SQLServer-Version:SQLServer版本对应内部数据库版本号配置表 1.返回顶部 1. 1.1 查询SQLServer对应的内部数据库版本号select DATABA ...

  9. PAT甲级——A1062 Talent and Virtue

    About 900 years ago, a Chinese philosopher Sima Guang wrote a history book in which he talked about ...

  10. Http post请求案例

    public RmiRespBase sendHttpRes(String jsonParamStr, String url, String apiName,String systemId,Strin ...