Django项目中使用Celery

Celery是Python开发分布式任务列队的处理库。可以异步分布式地异步处理任务,也可定时执行任务等等。通常我们可以在Django执行一些比较耗时的任务(例如批量发邮件)和后台定时任务等。

研究发现,在Django中使用celery有两种方式:

  1. 使用django-celery应用;
  2. 直接使用Celery。

我们这里选择的是第二种方案。

1. Celery中间人的选择

官方给出的broker列表如下

Name ...

Ubuntu下Redis安装和常用操作

以下安装操作是在Ubuntu16.04系统下完成,其他发行版本或者类Unix系统可能稍有不同。(Redis有编号0~15共16个数据库。)

一、Redis基础知识介绍

redis是Key Value nosql数据库,数据存储在内存中,单进程,自己实现了一套异步事件处理,虽然单进程但是数据库处理很快,异步持久化 ...

为Django的manage.py添加自定义命令

有时候会有这样的需求,为django执行一些定时任务,比如通知搜索引擎,例如百度,提交网站的一些地址给他们,通过为django的manage.py添加自定义命令可以很容易的解决这个问题。下面介绍下如何添加。

首先需要在创建好的app应用的根目录创建文件夹名为management的目录,然后继续在该目录创建commands的目录,并在两个目录中都要创建__init__.py ...

Docker常用命令整理

本文只是整理了一些docker的一些常用命令,至于docker的基础知识,建议有能力的同学可以阅读一下 官方文档,英文能力稍差的同学可以查看这里 gitbook,里面所讲的内容比较全面,本文不在赘述。

1. 查看版本信息

docker --version # 查看版本
docker-compose --version ...

Django中使用Q构建复杂查询

一般我们在Django程序中查询数据库操作都是在QuerySet里进行进行,随着我们的程序越来越复杂,查询的条件也跟着复杂起来,这样简单的通过一个filter()来进行查询的条件将导致我们的查询越来越长。当我们在查询的条件中需要组合条件时(例如两个条件“且”或者“或”)时。我们可以使用Q()查询对象。

比如有以下表:

from ...