Python学习-九周三次课(12月20日)

九周三次课(12月20日)
17.3/17.4 celery多实例
17.5 celery与定时任务

 

Celery 除了可以执行异步任务,也支持执行周期性任务(Periodic Tasks),或者说定时任务。Celery Beat 进程通过读取配置文件的内容,周期性地将定时任务发往任务队列。

让我们看看例子,项目结构如下:

__init__.py 代码如下:

celeryconfig.py 代码如下:

task1.py 代码如下:

 

task2.py 代码如下:

现在,让我们启动 Celery Worker 进程,在项目的根目录下执行下面命令:

接着,启动 Celery Beat 进程,定时将任务发送到 Broker,在项目根目录下执行下面命令:

之后,在 Worker 窗口我们可以看到,任务 task1 每 30 秒执行一次,而 task2 每天早上 9 点 50 分执行一次。

在上面,我们用两个命令启动了 Worker 进程和 Beat 进程,我们也可以将它们放在一个命令中:

posted @ 2017-12-20 08:42  zhuntidaoren  阅读(119)  评论(0)    收藏  举报