安装 django + celery + results

https://www.cnblogs.com/lanheader/p/13615772.html

安装 django-celery-beat

pip install django-celery-beat

配置 settings.py

INSTALLED_APPS = [
# ...
'django_celery_results', # 查看 celery 执行结果
'django_celery_beat', # pip install django-celery-beat
]

生成 Django-celery-beat 关联表

python manage.py migrate

app 目录 tasks.py 添加 task

import json
import requests
import datetime
from celery import task
from django.core.cache import cache
from django.core.mail import send_mail
from django.utils import timezone
from .models import TodayViewPage @task
def task_send_dd_text(url, msg, atMoblies, atAll="flase"):
body = {
"msgtype": "text",
"text": {
"content": msg
},
"at": {
"atMobiles": atMoblies,
"isAtAll": atAll
}
}
headers = {'content-type': 'application/json',
'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0'}
r = requests.post(url, headers=headers, data=json.dumps(body))
return r.text @task
def task_save_view_page():
today = datetime.date.today()
today_page_view = cache.get("today_page_view_%s" % (today.day - 1))
if today_page_view:
yesterday = datetime.date.today() + datetime.timedelta(days=-1)
page_view_query = TodayViewPage.objects.filter(today=yesterday)
if page_view_query.exists():
page_view_obj = page_view_query.first()
page_view_obj.view_page = today_page_view
page_view_obj.save()
else:
page_view_obj = TodayViewPage(
today=yesterday,
view_page=today_page_view
)
page_view_obj.save() return "view page save success" return "view page save failed"

管理后台配置任务

启动 celery worker

# 项目根目录终端执行(joyoo 项目名称)

celery -A joyoo worker -l info

# 守护进程

/root/.virtualenvs/blog/bin/celery multi start w1 -A joyoo -l info --logfile=./celerylog.log

 

使用django 定时任务 (Django + celery + beat )的更多相关文章

  1. celery 分布式异步任务框架(celery简单使用、celery多任务结构、celery定时任务、celery计划任务、celery在Django项目中使用Python脚本调用Django环境)

    一.celery简介: Celery 是一个强大的 分布式任务队列 的 异步处理框架,它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行.我们通常使用它来实现异步任务(async tas ...

  2. django 定时任务 django-crontab 的使用

    成功例子如下图: 1.前言 在做 django 开发需求时,多多少少都会遇到需要定时任务的功能,比如定时执行任务,检查订单之类的.可能是一段时间,比如每隔 10分钟执行一次,也可能是定点时间,比如 1 ...

  3. [python基础] celery beat/task/flower解析

    一.Celery 介绍 Celery 是一个强大的分布式任务队列,它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行.我们通常使用它来实现异步任务( async task )和定时任务( ...

  4. Django 1.9 + celery + django-celry 实现定时任务

    celery可以进行任务异步处理,celery还有一种Celery的常用模式便是执行定期任务. 执行定期任务时, Celery会通过celerybeat进程来完成. Celerybeat会保持运行, ...

  5. django 异步任务实现及Celery beat实现定时/轮询任务

    Celery定时任务 requirements celery==3.1.25 异步任务 django-celery==3.2.2 定时任务管理包 redis==2.10.6 django-redis- ...

  6. celery介绍、架构、快速使用、包结构,celery执行异步、延迟、定时任务,django中使用celery,定时更新首页轮播图效果实现,数据加入redis缓存的坑及解决

    今日内容概要 celery介绍,架构 celery 快速使用 celery包结构 celery执行异步任务 celery执行延迟任务 celery执行定时任务 django中使用celery 定时更新 ...

  7. Django 如何使用 Celery 完成异步任务或定时任务

    以前版本的 Celery 需要一个单独的库(django-celery)才能与 Django 一起工作, 但从 Celery 3.1 开始,情况便不再如此,我们可以直接通过 Celery 库来完成在 ...

  8. Django中使用Celery实现定时任务(用djcelery)

    一.引言 Django是python语言下的一个比较热门的Web框架,越来越多的企业和开发者使用Django实现自己的Web服务器.在Web服务器开发过程中,有时候我们不仅仅是要实现Web服务器端和用 ...

  9. Django 中使用 Celery

    起步 在 <分布式任务队列Celery使用说明> 中介绍了在 Python 中使用 Celery 来实验异步任务和定时任务功能.本文介绍如何在 Django 中使用 Celery. 安装 ...

  10. Django中使用Celery

    一.前言 Celery是一个基于python开发的分布式任务队列,如果不了解请阅读笔者上一篇博文Celery入门与进阶,而做python WEB开发最为流行的框架莫属Django,但是Django的请 ...

随机推荐

  1. [TSG开发日志4]算法组件、个人编写的库文件如何封装成DLL,如何更好地对接软件开发?

    写在前面 这个内容确实是我有点疏忽了,我以为做算法的同事应该多少对这方面会有点了解的.但是我想了一下我刚毕业的时候,确实对这方面的理解不深,查了很多资料才勉强搞懂什么意思,也是后来随着工程学习的愈加深 ...

  2. Kubernetes亲和性学习笔记

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是欣宸在学习Kubernetes调度器的 ...

  3. 代码随想录贪心专题-day1

    35. 分发糖果 n 个孩子站成一排.给你一个整数数组 ratings 表示每个孩子的评分. 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果. 相邻两个孩子评分更高的孩子会获 ...

  4. 信奥赛题1001:Hello,World!

    这个题实在是太简单的了,无法比喻,直接付代码! //c++ #include<bits/stdc++.h> using namespace std; int main() { cout&l ...

  5. Vue详解----一篇带你从头领悟到尾,享受飞升的感觉

    脚手架文件结构 """ ├── node_modules ├── public │ ├── favicon.ico: 页签图标 │ └── index.html: 主页面 ...

  6. 【工具推荐】github打不开or加载慢?不用配置hosts,教你一键加速!

    不说废话 下载watt toolkit(原名steam++) 官方地址: Watt Toolkit - 瓦特工具箱(Steam++官网) (steampp.net) 安装完后选中,点击一键加速即可. ...

  7. 【linux】你需要以 root 身份执行此命令

    1.设置root用户的密码: sudo passwd root 2.切换到root用户权限 su 3.切换回个人用户权限 exit

  8. webpack是如何处理css/less资源的呢

    上一篇文章 体验了webpack的打包过程,其中js文件不需要我们手动配置就可以成功解析,可其它类型的文件,比如css.less呢? css-loader 首先,创建一个空文件夹,通过 npm ini ...

  9. [minio]挂载minio到本地

    前言 将minio的bucket挂载到本地文件系统 环境 客户端系统版本:centos 7 MinIO节点IP:192.168.0.20 s3fs方式步骤 安装s3fs客户端(可能需要先安装epel- ...

  10. 不想引入mq?试试debezium

    有句话叫做"如无必要,勿增实体". 在一些小型项目当中,没有引入消息中间件,也不想引入,但有一些业务逻辑想要解耦异步,那怎么办呢? 我们的web项目,单独内网部署,由于大数据背景, ...