跟我们一起
玩转路由器

flask celery 使用方法

安装celery在windows上的步骤和注意事项如下:

由于Celery 4.0版本不支持Windows操作系统,如果在Windows上安装Celery 4.0,会出现以下错误:

flask_clery

因此,你只能安装Celery 3.1版本:

接下来,安装py for redis模块:

安装Redis服务时需要注意,许多在线文章对系统环境描述不清,导致误导。Redis官方支持Linux,但不支持Windows。要在Windows上使用Redis服务,请从以下地址下载Redis安装包并完成安装:

https://www.php.cn/link/8ee3592d7d251e3f7fe4da469785592b

如果未安装Redis包,将会出现以下错误:

注意:安装目录不要选择C盘,否则可能会遇到权限依赖问题。

添加Redis环境变量:

初始化Redis服务:

进入Redis安装目录,打开cmd并运行命令:

如果出现错误,可以通过双击目录下的

并在新窗口中输入和来解决。

在Flask中集成Celery时,需要在Flask配置中添加以下配置:

在Flask工程的

目录下创建Celery实例,注意以下代码必须在Flask app读取完配置文件后编写:

完整的示例代码如下:

常用的配置文件示例如下:

在cmd中启动Celery服务:

其中,

为你的工程名称,在这里为。

调用Celery任务的示例代码如下:

绑定任务的示例:

任务继承的示例:

任务名称的设置:

每个任务必须有不同的名称。如果没有显示提供名称,任务装饰器将会自动产生一个,产生的名称会基于这些信息:1)任务定义所在的模块,2)任务函数的名称。

显示设置任务名称的例子:

最佳实践是使用模块名称作为命名空间,这样的话如果有一个同名任务函数定义在其他模块也不会产生冲突。

安装Flower来监控任务和worker的状态:

启动Flower(默认会启动一个webserver,端口为5555):

进入

即可查看。

常见错误及其解决方案:

原因是:Redis-server没有启动。

解决方案:到Redis安装目录下执行

检查Redis是否启动:

解决:

原因:任务没有注册或注册不成功,只有在启动的时候提示有任务的时候,才能使用该任务。

flask_celery

解决:

你在那个类中使用Celery就在哪个类中执行

。根据上一部提示的任务列表给任务设置对应的名称,如在Test中:

目录结构:

则应该启动的命令为:

同时,如果你的Task.py也有任务,那么你还应该重新创建一个cmd窗口执行:

Celery的工作进程可以创建多个。

flask_celery

flask_celery

参考:

https://www.php.cn/link/d61f3a760c9bcbc9bb75228deddd9379

https://www.php.cn/link/381dc6cd0e6bfa5feb1f70484171a7a9

Celery用户指南,强烈推荐看Redis安装Celery使用https://redis.io/topics/quickstart

https://www.php.cn/link/c031d32c88833d1f9a2144071eaf34d9 最佳实践

https://www.php.cn/link/f6c744ece7e1a36892eba3a5d2938110

https://www.php.cn/link/337751565e513506b6400ca2ad6ff5df

https://www.php.cn/link/a2667dd894062c9ca2a4602cb4718f52 Celery 和 redis 完成任务队列

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《flask celery 使用方法》
文章链接:https://www.lu-you.com/settings/28967.html
本站资源来源于互联网整理,若有图片影像侵权,联系邮箱429682998@qq.com删除,谢谢。

评论 抢沙发

登录

找回密码

注册