Welcome to funboost's documentation!
- 1.python万能分布式函数调度框架简funboost简介
- 2. 对比celery框架
- 3.框架详细介绍
- 4.使用框架的各种代码示例
- 4.0 框架最重要的@boost装饰器的入参格式说明
- 4.1 装饰器方式调度函数
- 4.2a 非装饰器调度函数,方式一,(非常不推荐直接用get_consumer写代码,这样跳过了一些步骤,应该推荐用4.2c方式)
- 4.2b 非装饰器调度函数,方式二,(非装饰器使用,这是装饰器的本质用法)
- 4.2c 在函数内部无限次按照队列名动态生成booster(消费者、生产者) (非装饰器)
- 4.2d 框架的 BoostersManager boosters管理介绍
- 4.2d.2 使用 BoostersManager 一次性启动所有队列消费,
- 4.3a 演示如何解决多个步骤的消费函数
- 4.3.b 演示多个函数消费者使用同一个线程池
- 4.3c 演示清空消息队列和获取消息队列中的消息数量
- 4.4 演示如何定时运行。
- 4.5 多进程并发 + 多线程/协程,代码例子。
- 4.6 演示rpc模式,即客户端调用远程函数并及时得到结果。
- 4.7 演示qps控频
- 4.8 再次说明qps能做什么,qps为什么流弊?常规并发方式无法完成的需求是什么?
- 4.9 演示延时运行任务
- 4.10 在web中如flask fastapi django 如何搭配使用消费框架的例子。
- 4.11 保存消费状态和结果包mongo,开启消费状态结果的web页面
- 4.12 框架 asyncio 方式运行协程
- 4.13 跨项目怎么发布任务或者获取函数执行结果?
- 4.14 获取消费进程信息的方法(用于排查查看正在运行的消费者)
- 4.16 文件日志所在的地方
- 4.16.4 funboost 日志由 nb_log 提供。
- 4.17 判断函数运行完所有任务,再执行后续操作
- 4.18 暂停消费
- 4.19 用户自定义记录函数消费 状态/结果 钩子函数
- 4.20 通过 broker_exclusive_config 参数 设置不同中间件能使用到的差异化独特配置
- 4.21 【完全自由定制扩展】 使用 register_custom_broker 完全彻底自由灵活自定义扩展和定制修改中间件(消费者和发布者)
- 4.23 演示funboost框架是如何代替用户手写调用线程池的
- 4.24 设置消费函数重试次数
- 4.25 push和publish发布消息区别
- 4.26 性能调优演示
- 4.28 funboost 支持celery框架整体作为funboost的broker (2023.4新增)
- 4.29 funboost支持任务优先级队列
- 4.30 funboost 远程杀死(取消)任务
- 4.31 funboost_current_task 上下文获取当前消息和任务状态
- 4.100 使用funboost时候对框架的疑问和猜测的验证方式
- 4.200 [分布式函数调度框架qq群]
- 4b.使用框架的各种代码示例(高级进阶)
- 5.框架运行时截图
- 6.常见问题回答
- 6.1 你干嘛要写这个框架?和celery 、rq有什么区别?
- 6.2 为什么包的名字这么长?
- 6.3 框架是使用什么序列化协议来序列化消息的。
- 6.4 框架如何实现定时?
- 6.5 为什么强调是函数调度框架不是类调度框架,不是方法调度框架?
- 6.6 是怎么调度一个函数的。
- 6.7 框架适用哪些场景?
- 6.8 怎么引入使用这个框架?门槛高不高?
- 6.9 怎么写框架?
- 6.10 框架能做什么
- 6.11 日志的颜色不好看或者觉得太绚丽刺瞎眼,想要调整。
- 6.12 是不是抄袭模仿 celery
- 6.13 使用此框架时候,在一个python项目中如何连接多个相同种类的消息队列中间件ip地址
- 6.14 什么是确认消费?为什么框架总是强调确认消费?
- 6.15 如何等待队列中的消息全部消费完成
- 6.16 框架支不支持函数上加两个装饰器?
- 6.17 嫌框架日志记录太详细?
- 6.18 为什么框架在cmd shell终端运行时候要求会话中设置环境变量 export PYTHONPATH=你的项目根目录?
- 6.19 定时任务或延时任务报错 RuntimeError: cannot schedule new futures after interpreter shutdown
- 6.21 支不支持redis cluster集群模式的redis作为消息队列?
- 6.22 怎么使用tcp socket 作为消息队列
- 6.23 安装包时候自动安装的三方依赖包太多?
- 6.24 funboost框架从消息队列获取多少条消息?有没有负载均衡?
- 7.更新记录
- 7.0 很小的更新,对api使用完全无变化或者无增加新功能的不写更新记录。
- 7.1 新增第十种Consumer,以redis为中间件,但增加了消费确认,是RedisConsumerAckAble类。
- 7.2 新增基于以redis为消息中间件时候的页面管理和消费速度显示。
- 7.3 新增一个10行代码的函数的最精简乞丐版实现的分布式函数执行框架.
- 7.4 新增sqlachemy 支持的数据库作为消息中间件
- 7.5 日志改为导入独立包nb_log,支持用户配置文件自定义日志配置。
- 7.6 优化qps控频。
- 7.7 增加rocketmq支持。 (2020-7)
- 7.8 新增 async 并发模式 (2020-12)
- 7.8.4 愚蠢的celery调用异步函数写法
- 7.9 2021-04 新增以 redis 的 stream 数据结构 为中间件的消息队列。
- 7.10 2021-04 新增以 redis 的 list 为数据结构,但使用 brpoplpush 命令 双队列 作为中间件的消息队列。
- 7.11 2021-04 新增以 zeromq 为中间件的消息队列。
- 7.12 2021-04 新增以 操作kombu包 为中间件的消息队列
- 7.14 2021-04 新增以mqtt emq 作为消息中间件
- 7.15 2021-04 新增以 httpsqs 作为消息中间件
- 7.16 2021-04 新增支持下一代分布式消息系统 pulsar 。
- 7.17 2021-04 新增延时运行任务,介绍见4.8
- 7.18 2021-09 新增 轻松远程服务器部署运行函数
- 7.19 2021-09 新增 socket udp/tcp/http 消息队列,不需要安装消息中间件软件。
- 7.20 2021-09 新增 支持 nats 高性能消息队列
- 7.21 2022-01 新增 @boost装饰器全局默认配置
- 7.22 2022-02 新增暂停消费功能
- 7.23 2022-04 消费者/boost装饰器 新增 broker_exclusive_config 参数
- 7.24 2022-04 新增用户 自定义记录消费状态结果函数钩子
- 7.25 2022-04 新增用户灵活自由自定义扩展中间件和生产消费逻辑的功能
- 7.26 2022-07 新增内置以redis作为apscheduler存储的定时器,动态增删改查定时任务配置。
- 7.27 2023-02 新增适配python 3.6-3.11所有版本
- 7.28 2023-02 新增 asyncio 语法生态下rpc获取执行结果
- 7.29 2023-03 新增死信队列
- 7.30 2023-03 新增支持ctrl + c 退出程序
- 7.31 2023-04 新增支持 celery 作为 broker。
- 7.32 2023-04 新增支持 python 微服务框架 nameko 作为 broker。
- 7.33 2023-05 优化了apscheduler定式框架的动态删除添加定时任务
- 7.34 2023-05 重新实现了boost装饰器
- 7.35 2023-06 新增支持优先级队列
- 7.36 2023-07 新增支持 funboost远程杀死任务
- 7.37 2023-07 新增所有命名空间的日志和print都另外写入到一个总的文件中。
- 7.38 2023-10 多线程并发模式,增加了支持async def的函数
- 7.39 2024-01 @booost装饰器入参变成pydantic Model类型, BoostParams类或子类
- 7.40 2024-03 函数运行状态页面增加消息运行中状态
- 7.41 2024-03 新增 funboost_current_task 上下文
- 7.42 2024-04 新增支持消费函数定义入参 **kwargs,用于消费任意json消息
- 8.用于爬虫
- 9 轻松远程服务器部署运行函数
- 10.python3.6-3.12 安装/使用funboost出错问题反馈
- 11 funboost 使用某些中间件或三方任务队列框架作为broker的例子(包括celery框架)。
- 11.1 使用celery作为funboost的中间件
- 11.1.1 funboost启动celery消费和定时和flower
- 11.1.2 funboost发布任务到celery队列
- 11.1.3 funboost使用celery作为中间件的运行截图
- 11.1.4 funboost 的api 操作celery,比人工操作 celery 大大简化。
- 11.1.5 funboost 使用celery作为中间件时候,可以填写的celery任务配置
- 11.1.6 网上关于celery项目目录结构和文件夹/文件命名必须很死板, 是错的
- 11.1.7 仍然想使用celery命令行?
- 11.1.8 funboost使用celery作为broker_kind的原理
- 11.2 使用nameko 微服务框架作为funboost消息中间件例子
- 11.3 使用kombu作为funboost的broker
- 11.4 使用dramatiq框架作为funboost消息队列
- 11.5 使用huey框架作为funboost消息队列
- 11.6 使用rq框架作为funboost的broker
- 11.1 使用celery作为funboost的中间件
- 12 funboost 控制台支持命令行