funboost 50.3__py3-none-any.whl → 50.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of funboost might be problematic. Click here for more details.
- funboost/__init__.py +1 -1
- funboost/constant.py +4 -0
- funboost/consumers/base_consumer.py +93 -98
- funboost/consumers/celery_consumer.py +1 -1
- funboost/consumers/dramatiq_consumer.py +0 -5
- funboost/consumers/grpc_consumer.py +1 -1
- funboost/consumers/http_consumer.py +1 -1
- funboost/consumers/http_consumer_aiohttp_old.py +1 -1
- funboost/consumers/huey_consumer.py +2 -5
- funboost/consumers/kafka_consumer.py +0 -2
- funboost/consumers/kafka_consumer_manually_commit.py +0 -1
- funboost/consumers/kombu_consumer.py +0 -39
- funboost/consumers/mysql_cdc_consumer.py +1 -3
- funboost/consumers/pulsar_consumer.py +10 -5
- funboost/consumers/rabbitmq_amqpstorm_consumer.py +7 -8
- funboost/consumers/rabbitmq_complex_routing_consumer.py +54 -0
- funboost/consumers/redis_consumer.py +1 -1
- funboost/consumers/redis_consumer_ack_able.py +1 -1
- funboost/consumers/redis_consumer_ack_using_timeout.py +2 -6
- funboost/consumers/redis_consumer_priority.py +1 -1
- funboost/consumers/redis_stream_consumer.py +1 -3
- funboost/consumers/tcp_consumer.py +1 -1
- funboost/consumers/udp_consumer.py +1 -1
- funboost/consumers/zeromq_consumer.py +1 -1
- funboost/contrib/save_function_result_status/__init__.py +0 -0
- funboost/contrib/{save_result_status_to_sqldb.py → save_function_result_status/save_result_status_to_sqldb.py} +8 -41
- funboost/contrib/save_function_result_status/save_result_status_use_dataset.py +47 -0
- funboost/core/booster.py +7 -1
- funboost/core/broker_kind__exclusive_config_default_define.py +229 -0
- funboost/core/funboost_time.py +3 -82
- funboost/core/func_params_model.py +9 -3
- funboost/core/helper_funs.py +2 -2
- funboost/factories/broker_kind__publsiher_consumer_type_map.py +5 -0
- funboost/funboost_config_deafult.py +0 -3
- funboost/function_result_web/templates/fun_result_table.html +1 -1
- funboost/publishers/base_publisher.py +3 -2
- funboost/publishers/rabbitmq_amqpstorm_publisher.py +8 -7
- funboost/publishers/rabbitmq_complex_routing_publisher.py +84 -0
- funboost/utils/redis_manager.py +11 -5
- {funboost-50.3.dist-info → funboost-50.4.dist-info}/METADATA +156 -97
- {funboost-50.3.dist-info → funboost-50.4.dist-info}/RECORD +44 -40
- {funboost-50.3.dist-info → funboost-50.4.dist-info}/WHEEL +1 -1
- funboost-50.3.dist-info/LICENSE +0 -203
- {funboost-50.3.dist-info → funboost-50.4.dist-info}/entry_points.txt +0 -0
- {funboost-50.3.dist-info → funboost-50.4.dist-info}/top_level.txt +0 -0
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: funboost
|
|
3
|
-
Version: 50.
|
|
3
|
+
Version: 50.4
|
|
4
4
|
Summary: pip install funboost,python全功能分布式函数调度框架,funboost的功能是全面性重量级,用户能想得到的功能99%全都有;funboost的使用方式是轻量级,只有@boost一行代码需要写。支持python所有类型的并发模式和一切知名消息队列中间件,支持如 celery dramatiq等框架整体作为funboost中间件,python函数加速器,框架包罗万象,用户能想到的控制功能全都有。一统编程思维,兼容50% python业务场景,适用范围广。只需要一行代码即可分布式执行python一切函数,funboost web manager 方便查看和管理消费函数;99%用过funboost的pythoner 感受是 简易 方便 强劲 强大,相见恨晚
|
|
5
5
|
Home-page: https://github.com/ydf0509/funboost
|
|
6
6
|
Author: bfzs
|
|
7
7
|
Author-email: ydf0509@sohu.com
|
|
8
8
|
Maintainer: ydf
|
|
9
9
|
Maintainer-email: ydf0509@sohu.com
|
|
10
|
-
License: BSD
|
|
10
|
+
License: BSD-3-Clause
|
|
11
11
|
Keywords: funboost,distributed-framework,function-scheduling,rabbitmq,rocketmq,kafka,nsq,redis,disk,sqlachemy,consume-confirm,timing,task-scheduling,apscheduler,pulsar,mqtt,kombu,的,celery,框架,分布式调度
|
|
12
12
|
Platform: all
|
|
13
13
|
Classifier: Development Status :: 4 - Beta
|
|
14
14
|
Classifier: Operating System :: OS Independent
|
|
15
15
|
Classifier: Intended Audience :: Developers
|
|
16
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
17
16
|
Classifier: Programming Language :: Python
|
|
18
17
|
Classifier: Programming Language :: Python :: Implementation
|
|
19
18
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -28,30 +27,29 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
28
27
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
29
28
|
Classifier: Topic :: Software Development :: Libraries
|
|
30
29
|
Description-Content-Type: text/markdown
|
|
31
|
-
|
|
32
|
-
Requires-Dist:
|
|
33
|
-
Requires-Dist:
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist:
|
|
36
|
-
Requires-Dist:
|
|
37
|
-
Requires-Dist:
|
|
38
|
-
Requires-Dist:
|
|
39
|
-
Requires-Dist:
|
|
40
|
-
Requires-Dist:
|
|
41
|
-
Requires-Dist: apscheduler <4.0.0,>=3.10.1
|
|
30
|
+
Requires-Dist: nb_log>=13.9
|
|
31
|
+
Requires-Dist: nb_libs>=1.9
|
|
32
|
+
Requires-Dist: nb_time>=2.7
|
|
33
|
+
Requires-Dist: pymongo>=4.6.3
|
|
34
|
+
Requires-Dist: AMQPStorm==2.10.6
|
|
35
|
+
Requires-Dist: rabbitpy==2.0.1
|
|
36
|
+
Requires-Dist: decorator==5.1.1
|
|
37
|
+
Requires-Dist: tomorrow3==1.1.0
|
|
38
|
+
Requires-Dist: persist-queue>=0.4.2
|
|
39
|
+
Requires-Dist: apscheduler<4.0.0,>=3.10.1
|
|
42
40
|
Requires-Dist: pikav0
|
|
43
41
|
Requires-Dist: pikav1
|
|
44
42
|
Requires-Dist: redis2
|
|
45
43
|
Requires-Dist: redis3
|
|
46
44
|
Requires-Dist: redis5
|
|
47
45
|
Requires-Dist: redis
|
|
48
|
-
Requires-Dist:
|
|
49
|
-
Requires-Dist: fabric2
|
|
50
|
-
Requires-Dist:
|
|
46
|
+
Requires-Dist: setuptools_rust
|
|
47
|
+
Requires-Dist: fabric2>=2.6.0
|
|
48
|
+
Requires-Dist: nb_filelock
|
|
51
49
|
Requires-Dist: pysnooper
|
|
52
50
|
Requires-Dist: deprecated
|
|
53
51
|
Requires-Dist: cryptography
|
|
54
|
-
Requires-Dist:
|
|
52
|
+
Requires-Dist: auto_run_on_remote
|
|
55
53
|
Requires-Dist: frozenlist
|
|
56
54
|
Requires-Dist: fire
|
|
57
55
|
Requires-Dist: pydantic
|
|
@@ -59,82 +57,112 @@ Requires-Dist: orjson
|
|
|
59
57
|
Requires-Dist: async-timeout
|
|
60
58
|
Requires-Dist: typing-extensions
|
|
61
59
|
Provides-Extra: all
|
|
62
|
-
Requires-Dist:
|
|
63
|
-
Requires-Dist:
|
|
64
|
-
Requires-Dist:
|
|
65
|
-
Requires-Dist:
|
|
66
|
-
Requires-Dist:
|
|
67
|
-
Requires-Dist: sqlalchemy
|
|
68
|
-
Requires-Dist:
|
|
69
|
-
Requires-Dist:
|
|
70
|
-
Requires-Dist:
|
|
71
|
-
Requires-Dist:
|
|
72
|
-
Requires-Dist:
|
|
73
|
-
Requires-Dist:
|
|
74
|
-
Requires-Dist:
|
|
75
|
-
Requires-Dist:
|
|
76
|
-
Requires-Dist:
|
|
77
|
-
Requires-Dist:
|
|
78
|
-
Requires-Dist:
|
|
79
|
-
Requires-Dist:
|
|
80
|
-
Requires-Dist:
|
|
81
|
-
Requires-Dist:
|
|
82
|
-
Requires-Dist:
|
|
83
|
-
Requires-Dist:
|
|
84
|
-
Requires-Dist:
|
|
85
|
-
Requires-Dist:
|
|
86
|
-
Requires-Dist:
|
|
87
|
-
Requires-Dist: grpcio
|
|
88
|
-
Requires-Dist:
|
|
89
|
-
Requires-Dist:
|
|
90
|
-
Requires-Dist:
|
|
91
|
-
Requires-Dist: flask
|
|
92
|
-
Requires-Dist:
|
|
93
|
-
Requires-Dist:
|
|
94
|
-
Requires-Dist:
|
|
95
|
-
Requires-Dist:
|
|
96
|
-
Provides-Extra:
|
|
97
|
-
Requires-Dist:
|
|
98
|
-
Requires-Dist:
|
|
99
|
-
Requires-Dist:
|
|
100
|
-
Requires-Dist:
|
|
101
|
-
Requires-Dist:
|
|
102
|
-
Requires-Dist: sqlalchemy
|
|
103
|
-
Requires-Dist:
|
|
104
|
-
Requires-Dist:
|
|
105
|
-
Requires-Dist:
|
|
106
|
-
Requires-Dist:
|
|
107
|
-
Requires-Dist:
|
|
108
|
-
Requires-Dist:
|
|
109
|
-
Requires-Dist:
|
|
110
|
-
Requires-Dist:
|
|
111
|
-
Requires-Dist:
|
|
112
|
-
Requires-Dist:
|
|
113
|
-
Requires-Dist:
|
|
114
|
-
Requires-Dist:
|
|
115
|
-
Requires-Dist:
|
|
116
|
-
Requires-Dist:
|
|
117
|
-
Requires-Dist:
|
|
118
|
-
Requires-Dist:
|
|
119
|
-
Requires-Dist:
|
|
120
|
-
Requires-Dist:
|
|
121
|
-
Requires-Dist:
|
|
122
|
-
Requires-Dist: grpcio
|
|
123
|
-
Requires-Dist:
|
|
124
|
-
Requires-Dist:
|
|
125
|
-
Requires-Dist:
|
|
60
|
+
Requires-Dist: confluent_kafka==1.7.0; extra == "all"
|
|
61
|
+
Requires-Dist: pulsar-client==3.1.0; python_version >= "3.7" and extra == "all"
|
|
62
|
+
Requires-Dist: celery; extra == "all"
|
|
63
|
+
Requires-Dist: flower; extra == "all"
|
|
64
|
+
Requires-Dist: nameko==2.14.1; extra == "all"
|
|
65
|
+
Requires-Dist: sqlalchemy==1.4.13; extra == "all"
|
|
66
|
+
Requires-Dist: sqlalchemy_utils==0.36.1; extra == "all"
|
|
67
|
+
Requires-Dist: dramatiq==1.14.2; extra == "all"
|
|
68
|
+
Requires-Dist: huey==2.4.5; extra == "all"
|
|
69
|
+
Requires-Dist: rq==1.15.0; extra == "all"
|
|
70
|
+
Requires-Dist: kombu; extra == "all"
|
|
71
|
+
Requires-Dist: elasticsearch; extra == "all"
|
|
72
|
+
Requires-Dist: gnsq==1.0.1; extra == "all"
|
|
73
|
+
Requires-Dist: psutil; extra == "all"
|
|
74
|
+
Requires-Dist: peewee==3.17.3; extra == "all"
|
|
75
|
+
Requires-Dist: nats-python; extra == "all"
|
|
76
|
+
Requires-Dist: aiohttp==3.8.3; extra == "all"
|
|
77
|
+
Requires-Dist: paho-mqtt; extra == "all"
|
|
78
|
+
Requires-Dist: rocketmq; extra == "all"
|
|
79
|
+
Requires-Dist: zmq; extra == "all"
|
|
80
|
+
Requires-Dist: pyzmq; extra == "all"
|
|
81
|
+
Requires-Dist: kafka-python==2.0.2; extra == "all"
|
|
82
|
+
Requires-Dist: eventlet==0.33.3; extra == "all"
|
|
83
|
+
Requires-Dist: gevent==22.10.2; extra == "all"
|
|
84
|
+
Requires-Dist: mysql-replication==1.0.9; extra == "all"
|
|
85
|
+
Requires-Dist: grpcio==1.60.0; extra == "all"
|
|
86
|
+
Requires-Dist: grpcio-tools==1.60.0; extra == "all"
|
|
87
|
+
Requires-Dist: protobuf==4.25.1; extra == "all"
|
|
88
|
+
Requires-Dist: waitress; extra == "all"
|
|
89
|
+
Requires-Dist: flask; extra == "all"
|
|
90
|
+
Requires-Dist: flask_bootstrap; extra == "all"
|
|
91
|
+
Requires-Dist: flask_wtf; extra == "all"
|
|
92
|
+
Requires-Dist: wtforms; extra == "all"
|
|
93
|
+
Requires-Dist: flask_login; extra == "all"
|
|
94
|
+
Provides-Extra: extra-brokers
|
|
95
|
+
Requires-Dist: confluent_kafka==1.7.0; extra == "extra-brokers"
|
|
96
|
+
Requires-Dist: pulsar-client==3.1.0; python_version >= "3.7" and extra == "extra-brokers"
|
|
97
|
+
Requires-Dist: celery; extra == "extra-brokers"
|
|
98
|
+
Requires-Dist: flower; extra == "extra-brokers"
|
|
99
|
+
Requires-Dist: nameko==2.14.1; extra == "extra-brokers"
|
|
100
|
+
Requires-Dist: sqlalchemy==1.4.13; extra == "extra-brokers"
|
|
101
|
+
Requires-Dist: sqlalchemy_utils==0.36.1; extra == "extra-brokers"
|
|
102
|
+
Requires-Dist: dramatiq==1.14.2; extra == "extra-brokers"
|
|
103
|
+
Requires-Dist: huey==2.4.5; extra == "extra-brokers"
|
|
104
|
+
Requires-Dist: rq==1.15.0; extra == "extra-brokers"
|
|
105
|
+
Requires-Dist: kombu; extra == "extra-brokers"
|
|
106
|
+
Requires-Dist: elasticsearch; extra == "extra-brokers"
|
|
107
|
+
Requires-Dist: gnsq==1.0.1; extra == "extra-brokers"
|
|
108
|
+
Requires-Dist: psutil; extra == "extra-brokers"
|
|
109
|
+
Requires-Dist: peewee==3.17.3; extra == "extra-brokers"
|
|
110
|
+
Requires-Dist: nats-python; extra == "extra-brokers"
|
|
111
|
+
Requires-Dist: aiohttp==3.8.3; extra == "extra-brokers"
|
|
112
|
+
Requires-Dist: paho-mqtt; extra == "extra-brokers"
|
|
113
|
+
Requires-Dist: rocketmq; extra == "extra-brokers"
|
|
114
|
+
Requires-Dist: zmq; extra == "extra-brokers"
|
|
115
|
+
Requires-Dist: pyzmq; extra == "extra-brokers"
|
|
116
|
+
Requires-Dist: kafka-python==2.0.2; extra == "extra-brokers"
|
|
117
|
+
Requires-Dist: eventlet==0.33.3; extra == "extra-brokers"
|
|
118
|
+
Requires-Dist: gevent==22.10.2; extra == "extra-brokers"
|
|
119
|
+
Requires-Dist: mysql-replication==1.0.9; extra == "extra-brokers"
|
|
120
|
+
Requires-Dist: grpcio==1.60.0; extra == "extra-brokers"
|
|
121
|
+
Requires-Dist: grpcio-tools==1.60.0; extra == "extra-brokers"
|
|
122
|
+
Requires-Dist: protobuf==4.25.1; extra == "extra-brokers"
|
|
123
|
+
Requires-Dist: waitress; extra == "extra-brokers"
|
|
126
124
|
Provides-Extra: flask
|
|
127
|
-
Requires-Dist: flask
|
|
128
|
-
Requires-Dist:
|
|
129
|
-
Requires-Dist:
|
|
130
|
-
Requires-Dist: wtforms
|
|
131
|
-
Requires-Dist:
|
|
125
|
+
Requires-Dist: flask; extra == "flask"
|
|
126
|
+
Requires-Dist: flask_bootstrap; extra == "flask"
|
|
127
|
+
Requires-Dist: flask_wtf; extra == "flask"
|
|
128
|
+
Requires-Dist: wtforms; extra == "flask"
|
|
129
|
+
Requires-Dist: flask_login; extra == "flask"
|
|
130
|
+
Dynamic: author
|
|
131
|
+
Dynamic: author-email
|
|
132
|
+
Dynamic: classifier
|
|
133
|
+
Dynamic: description
|
|
134
|
+
Dynamic: description-content-type
|
|
135
|
+
Dynamic: home-page
|
|
136
|
+
Dynamic: keywords
|
|
137
|
+
Dynamic: license
|
|
138
|
+
Dynamic: maintainer
|
|
139
|
+
Dynamic: maintainer-email
|
|
140
|
+
Dynamic: platform
|
|
141
|
+
Dynamic: provides-extra
|
|
142
|
+
Dynamic: requires-dist
|
|
143
|
+
Dynamic: summary
|
|
132
144
|
|
|
133
145
|
# 1.python万能分布式函数调度框架简funboost简介
|
|
134
146
|
|
|
147
|
+
funboost教程: [https://funboost.readthedocs.io/zh-cn/latest/index.html](https://funboost.readthedocs.io/zh-cn/latest/index.html)
|
|
148
|
+
|
|
135
149
|
## 1.0 funboost 框架说明介绍
|
|
136
150
|
|
|
137
|
-
`funboost`是一个
|
|
151
|
+
`funboost`是一个 万能 强大 简单 自由 的 `python` 全功能分布式调度框架,它的作用是给用户任意项目的任意函数赋能.
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
<h4>📹 观看 funboost 视频</h4>
|
|
155
|
+
<video controls width="800"
|
|
156
|
+
src="https://ydf0509.github.io/funboost_git_pages/%E8%A7%86%E9%A2%91-Funboost_%E8%A7%86%E9%A2%91.mp4">
|
|
157
|
+
您的浏览器不支持视频播放。
|
|
158
|
+
</video>
|
|
159
|
+
|
|
160
|
+
<h4>🎧 收听 funboost 音频</h4>
|
|
161
|
+
<audio controls
|
|
162
|
+
src="https://ydf0509.github.io/funboost_git_pages/%E9%9F%B3%E9%A2%91-funboost_%E9%9F%B3%E9%A2%91.mp4">
|
|
163
|
+
您的浏览器不支持音频播放。
|
|
164
|
+
</audio>
|
|
165
|
+
|
|
138
166
|
|
|
139
167
|
### 1.0.0 funboost 框架安装方式
|
|
140
168
|
|
|
@@ -156,6 +184,36 @@ pip install funboost --upgrade
|
|
|
156
184
|
它证明了一个框架可以既功能丰富又极其易用,这是对传统Python框架设计的一次巧妙超越。
|
|
157
185
|
只需要一行`@boost`代码即可分布式执行`python`一切任意函数,99%用过`funboost`的`pythoner` 感受是 方便 高速 强大 自由。
|
|
158
186
|
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
#### funboost的适用场景:
|
|
190
|
+
```
|
|
191
|
+
`funboost`是python函数加速器,框架包罗万象,一统编程思维,兼容50% `python`编程业务场景,适用范围广,任何新老项目都能用到。
|
|
192
|
+
`funboost` 用途概念就是常规经典的 生产者 + 消息队列中间件 + 消费者 编程思想。
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
需要分布式? 好,funboost支持40多种消息队列,任何只要是稍微小有名气的消息队列和甚至任务框架,funboost全都支持.
|
|
197
|
+
需要并发? 好,那就把Python所有的并发模式(线程、协程、多进程)都给你,并且让它们可以叠加。
|
|
198
|
+
需要可靠性? 好,那就把消费确认(ACK)、自动重试、死信队列(DLQ)、断点续爬做到极致,让你无惧任何宕机。
|
|
199
|
+
需要控制力? 好,那就给你精准的QPS控频、分布式控频、定时任务、延时任务、超时杀死、任务过滤等三十多种控制武器。
|
|
200
|
+
需要监控? 好,那就给你一个开箱即用的Web UI,让你对任务状态、队列情况、消费者实例了如指掌。
|
|
201
|
+
需要自由? 好,那就让你用最普通的Python函数,不侵入你的代码,不规定你的项目结构,让你随时能用,随时能走。
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
#### 有人问 funboost 是做什么的? 怎么回答最合适?
|
|
205
|
+
|
|
206
|
+
这个问题很难精确的一句话概括回答,因为funboost是万能框架,几乎所有的python编程业务场景都能用到,答案是发散的不是唯一的。
|
|
207
|
+
|
|
208
|
+
发散的答案, 见文档 6.0b 章节 [https://funboost.readthedocs.io/zh-cn/latest/articles/c6.html#b-funboost](https://funboost.readthedocs.io/zh-cn/latest/articles/c6.html#b-funboost)
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
#### 最最最重要的第一个问题: "funboost这个框架怎么样呀,值得我学习使用吗?"
|
|
212
|
+
|
|
213
|
+
如果选择学习使用了一个 用途狭窄 功能不好 性能不好 用法复杂 写法不自由 的框架,简直是浪费时间浪费生命.
|
|
214
|
+
|
|
215
|
+
问题答案, 见文档 6.0 章节 [https://funboost.readthedocs.io/zh-cn/latest/articles/c6.html#funboost](https://funboost.readthedocs.io/zh-cn/latest/articles/c6.html#funboost)
|
|
216
|
+
|
|
159
217
|
#### funboost与celery的理念区别
|
|
160
218
|
**共同点:**
|
|
161
219
|
```
|
|
@@ -166,11 +224,15 @@ pip install funboost --upgrade
|
|
|
166
224
|
|
|
167
225
|
**区别:**
|
|
168
226
|
```
|
|
169
|
-
`celery`是`围绕celery框架组织代码,属于重型奴役框架`,你围绕`celery`项目结构和`celery app`这样中央app实例 转,去新增定义`@app.task`函数,
|
|
170
|
-
|
|
227
|
+
`celery`是`围绕celery框架组织代码,属于重型奴役框架`,你围绕`celery`项目结构和`celery app`这样中央app实例 转,去新增定义`@app.task`函数,
|
|
228
|
+
app才是一等公民,task函数是二等公民
|
|
229
|
+
|
|
230
|
+
`funboost`是`函数增强器,属于轻型自由框架`,你可以对任意项目任意位置的新旧函数加上`@boost`装饰器,是给你函数赋能插上强大翅膀,
|
|
231
|
+
用户不需要围绕`funboost`或某个中央app实例来组织代码结构,用户函数自身就是一等公民
|
|
171
232
|
|
|
172
233
|
2个框架最显而易见明显差别就是 `funboost` 无需 `@app.boost` 而是直接`@boost`,这个小区别,造成影响深远的框架用法和理念区别.
|
|
173
|
-
`funboost`任务控制功能更多,支持broker中间件种类更多,并发方式更多,发布性能超越celery 22倍,消费性能超越 celery 46
|
|
234
|
+
`funboost`任务控制功能更多,支持broker中间件种类更多,并发方式更多,发布性能超越celery 22倍,消费性能超越 celery 46倍,
|
|
235
|
+
性能是高几个数量级的断崖式遥遥领先,但反而使用比celery简单得多.
|
|
174
236
|
```
|
|
175
237
|
|
|
176
238
|
#### **funboost 支持的并发模式:**
|
|
@@ -185,11 +247,8 @@ pip install funboost --upgrade
|
|
|
185
247
|
并且`funboost` 将 `mysql cdc` 这种`mysql binlog`变化捕获作为`broker`,使得`funboost`可以是事件驱动的,远超`celery`的理念.
|
|
186
248
|
`funboost` 还轻松内置了将各种三方消费框架作为`broker`,例如直接将 `celery` `dramatiq` `huey` `rq` `nameko` 作为`broker`,使用这些框架的核心来执行用户的函数
|
|
187
249
|
```
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
`funboost`是python函数加速器,框架包罗万象,一统编程思维,兼容50% `python`编程业务场景,适用范围广,任何新老项目都能用到。
|
|
191
|
-
`funboost` 用途概念就是常规经典的 生产者 + 消息队列中间件 + 消费者 编程思想。
|
|
192
|
-
```
|
|
250
|
+
|
|
251
|
+
|
|
193
252
|
|
|
194
253
|
|
|
195
254
|
#### **funboost 学习难吗?**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
funboost/__init__.py,sha256=
|
|
1
|
+
funboost/__init__.py,sha256=GMXI5W_YnGihr8vMa7ljaQtMuv8JiAdoCtx2zv1DItc,4093
|
|
2
2
|
funboost/__init__old.py,sha256=9Kv3cPLnPkbzMRnuJFVkPsuDdx1CdcSIuITkpdncZSc,20382
|
|
3
3
|
funboost/__main__.py,sha256=BetXBv7PkVeeK-UENiFq_KEEIzvObMI0rd8S1DHRdLU,1139
|
|
4
|
-
funboost/constant.py,sha256
|
|
5
|
-
funboost/funboost_config_deafult.py,sha256=
|
|
4
|
+
funboost/constant.py,sha256=-XDTml8Qz0ak_yNyWZ9jLRlXFOWltustSnRmKLx51ag,15174
|
|
5
|
+
funboost/funboost_config_deafult.py,sha256=Zqb6zsK_eSzG2u-UOo5s_g4JAj_OykzCGSfUwDcq6f4,6637
|
|
6
6
|
funboost/set_frame_config.py,sha256=U-2_02JYyT8N8v2juZLwbUSCHJPo-hyDOiK5Zz_4J8s,14552
|
|
7
7
|
funboost/assist/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
funboost/assist/celery_helper.py,sha256=COMCoCM1oagcnOTaYEyKXwJTiNW0kkbKLp5TB_JvxCc,6518
|
|
@@ -36,72 +36,76 @@ funboost/concurrent_pool/backup/async_pool_executor_back.py,sha256=x0pyPgxzTENOs
|
|
|
36
36
|
funboost/concurrent_pool/backup/async_pool_executor_janus.py,sha256=OHMWJ9l3EYTpPpcrPrGGKd4K0tmQ2PN8HiX0Dta0EOo,5728
|
|
37
37
|
funboost/concurrent_pool/backup/grok_async_pool.py,sha256=3DgyB2aT0iHakb-pxd51WRKGIF7EKNNcX_ogDTF2hik,5825
|
|
38
38
|
funboost/consumers/__init__.py,sha256=ZXY_6Kut1VYNQiF5aWEgIWobsW1ht9YUP0TdRZRWFqI,126
|
|
39
|
-
funboost/consumers/base_consumer.py,sha256=
|
|
40
|
-
funboost/consumers/celery_consumer.py,sha256=
|
|
39
|
+
funboost/consumers/base_consumer.py,sha256=U0A95OOoJe9WlwdyIBX3Y7Z8cEtE93xfGc_wCwemDQo,90413
|
|
40
|
+
funboost/consumers/celery_consumer.py,sha256=Xn4Cr2dg_jzHbi7P3A6JcRMh1tu3YihaElFuV9DBe-s,9307
|
|
41
41
|
funboost/consumers/confirm_mixin.py,sha256=5xC9AAQr_MY4tbSed8U-M6tOVmh69Qv9X0ld0JLT9Tk,6185
|
|
42
|
-
funboost/consumers/dramatiq_consumer.py,sha256=
|
|
42
|
+
funboost/consumers/dramatiq_consumer.py,sha256=OvpzcpKg6FhYfzCZCNB11totUOwsDOyBr6Y1H826rwo,1916
|
|
43
43
|
funboost/consumers/empty_consumer.py,sha256=qbkQX2Qlw2Wm8dFEJqjSEEvTA-uh184sqQbFo_5EOiI,1501
|
|
44
44
|
funboost/consumers/faststream_consumer.py,sha256=4UEYGSjUwJElhy4ZGzgL7QhYVCbdVGjyZ6QuM-F0oVA,2361
|
|
45
|
-
funboost/consumers/grpc_consumer.py,sha256=
|
|
46
|
-
funboost/consumers/http_consumer.py,sha256=
|
|
45
|
+
funboost/consumers/grpc_consumer.py,sha256=DAAfPMxXWJV34cM_iR_tsolcvvTtNoqdP34YaTExBBY,3425
|
|
46
|
+
funboost/consumers/http_consumer.py,sha256=UPzNz6BrUv9EENxVvRBuwAZ2n21nwvnobIkYHi_FQoM,5532
|
|
47
47
|
funboost/consumers/http_consumer000.py,sha256=PiiSLSQB-hHgS1vAn8DoHD2siC3zO6_kKjVW0g6AFIc,4379
|
|
48
|
-
funboost/consumers/http_consumer_aiohttp_old.py,sha256=
|
|
48
|
+
funboost/consumers/http_consumer_aiohttp_old.py,sha256=pAnJ5yojQ6Gl97hoYflbWrsUCKzHBgL7QumQ8NHEq0g,4800
|
|
49
49
|
funboost/consumers/httpsqs_consumer.py,sha256=kaqOcrKMLrSR27XqeiheRDmpF1KDVDghgbHcefTjqt8,1171
|
|
50
|
-
funboost/consumers/huey_consumer.py,sha256=
|
|
51
|
-
funboost/consumers/kafka_consumer.py,sha256=
|
|
52
|
-
funboost/consumers/kafka_consumer_manually_commit.py,sha256=
|
|
53
|
-
funboost/consumers/kombu_consumer.py,sha256=
|
|
50
|
+
funboost/consumers/huey_consumer.py,sha256=L64GxRKQ25VOKt71uB3qn30qRwA9aDqjUKVaYjpe_fw,1656
|
|
51
|
+
funboost/consumers/kafka_consumer.py,sha256=T9PSo2h9TmImFAsKFCAyz79nxScLwf7R_HNNc6uZmHo,4139
|
|
52
|
+
funboost/consumers/kafka_consumer_manually_commit.py,sha256=HZWT2EOriDWV3nPu3apkx_h76goUYxCchn7l56zT760,9782
|
|
53
|
+
funboost/consumers/kombu_consumer.py,sha256=UsCv0FdZ5sbzRJ9_eV_rMoZPp70JpH6Rqr5KMI9co0w,6325
|
|
54
54
|
funboost/consumers/local_python_queue_consumer.py,sha256=4Cel1WaNwbRpDux22USP8is5R9__A_-LlqyHjcw02Z4,1160
|
|
55
55
|
funboost/consumers/memory_deque_consumer.py,sha256=tTwOkrB9GdySOQstVLnU4hnBnap6rafCeoXhmV0TI5c,1110
|
|
56
56
|
funboost/consumers/mongomq_consumer.py,sha256=e1Cupe-Cb2LUuJlQhER6NecrvK7FyzKKZ2HxyfOI-OY,1119
|
|
57
57
|
funboost/consumers/mqtt_consumer.py,sha256=iLWKxe0CjKHUYrE6YMWNJHto0tD3siUAvZl9ssNsz_s,2297
|
|
58
|
-
funboost/consumers/mysql_cdc_consumer.py,sha256=
|
|
58
|
+
funboost/consumers/mysql_cdc_consumer.py,sha256=LfiQfKGwhMqPVEtzMUPtkBfX2FXm-_5NB_oXVXSLdtE,3972
|
|
59
59
|
funboost/consumers/nameko_consumer.py,sha256=Qhl2FmrIjzjXLkIdMLQdhZ8GmrhiuoEss7cwGHCFT7c,2213
|
|
60
60
|
funboost/consumers/nats_consumer.py,sha256=yv_8SC4zdw5UXBpYooFMXHaC-mNzws5IK0woxHWr1NM,1119
|
|
61
61
|
funboost/consumers/nsq_consumer.py,sha256=KcP4wT656LyvuwyQXnVp0B6DwYvnZ6z_Vyzt0KjHAQc,1518
|
|
62
62
|
funboost/consumers/peewee_conusmer.py,sha256=VqbSu9AdKO4_wgu0XhTWRO3VeWctecbbz2X_V04_kXw,1115
|
|
63
63
|
funboost/consumers/persist_queue_consumer.py,sha256=PUfelfW84YiqcsbcIAveWMC50rw2DScZ3u_aiaS0Kk8,1015
|
|
64
|
-
funboost/consumers/pulsar_consumer.py,sha256=
|
|
65
|
-
funboost/consumers/rabbitmq_amqpstorm_consumer.py,sha256
|
|
64
|
+
funboost/consumers/pulsar_consumer.py,sha256=SSAUQ46IQrSiMzsIEA8MB-NylKAbZDIu52_kj68LJN8,2400
|
|
65
|
+
funboost/consumers/rabbitmq_amqpstorm_consumer.py,sha256=-vqH5g-XTT0Yo5wiB4dxJfqXlEJJQkCLvOVu4T5DbRI,2270
|
|
66
|
+
funboost/consumers/rabbitmq_complex_routing_consumer.py,sha256=15VQGmmOqF8d2wFIcdW5mpD7DlBA8c3pO0F1Fou9JZM,2669
|
|
66
67
|
funboost/consumers/rabbitmq_pika_consumer.py,sha256=51IkRUSR0v2v7BUlA8oInx81VGeO5OaD2pk0UXHdY78,5408
|
|
67
68
|
funboost/consumers/rabbitmq_pika_consumerv0.py,sha256=rIQToBTBqGdjnzMhg0vyZMY87NtK_Uw8ggiTu39JQ_w,4777
|
|
68
69
|
funboost/consumers/rabbitmq_rabbitpy_consumer.py,sha256=xxINY037pmgF3_lJA-zhf9qUIUx6DdqC7tsUOQL3dL4,1330
|
|
69
70
|
funboost/consumers/redis_brpoplpush_consumer.py,sha256=HA3WYKNHuSFZJwTe5EEMFAQfTCK6E2upyFnvdQReJug,2967
|
|
70
|
-
funboost/consumers/redis_consumer.py,sha256=
|
|
71
|
-
funboost/consumers/redis_consumer_ack_able.py,sha256=
|
|
72
|
-
funboost/consumers/redis_consumer_ack_using_timeout.py,sha256=
|
|
73
|
-
funboost/consumers/redis_consumer_priority.py,sha256=
|
|
71
|
+
funboost/consumers/redis_consumer.py,sha256=j3sN0eGEPFWtJfEqGzfu_V9tGUmNWpj4AuRX2U51Mdw,2607
|
|
72
|
+
funboost/consumers/redis_consumer_ack_able.py,sha256=A9ZpxxQ0rzTwyie2lB1kfAundkxsrgqJcU9osb3sJbM,7362
|
|
73
|
+
funboost/consumers/redis_consumer_ack_using_timeout.py,sha256=IN-EI18qhwOA6I2WqAApQaSIV0j9pjVIUwVPMLdRH_4,3563
|
|
74
|
+
funboost/consumers/redis_consumer_priority.py,sha256=cJc5sq2b7p2BMu7JtFSHJ2A15bQTYvcy6tszFfOzBuI,5360
|
|
74
75
|
funboost/consumers/redis_consumer_simple.py,sha256=trPrMHSVU1Y_fY-xz5tFFmt1zjV-9_joPYRHqvyZnL8,874
|
|
75
76
|
funboost/consumers/redis_filter.py,sha256=GYx4dTgTv05oyP-2fKLpOeRdzot-J9ZO7H_8fsbhHfQ,8810
|
|
76
77
|
funboost/consumers/redis_pubsub_consumer.py,sha256=8V8EqobKpEXzpsQx_H3A-JBKLsWOsE0n16g62tUMMYY,1122
|
|
77
|
-
funboost/consumers/redis_stream_consumer.py,sha256=
|
|
78
|
+
funboost/consumers/redis_stream_consumer.py,sha256=oDPoG263xzfA_Yw2WY7oBWF1O9F9Hc2I45St1Gmacyg,6415
|
|
78
79
|
funboost/consumers/rocketmq_consumer.py,sha256=QCAdw2UBGPlakTcXdiykvPx4cl9yDMSib44BbmzBHfY,1717
|
|
79
80
|
funboost/consumers/rq_consumer.py,sha256=JX84k6Jiv4pBiQMmnhdJ7s7Qz4ub5TWS4T7qTF-WdlM,876
|
|
80
81
|
funboost/consumers/sqlachemy_consumer.py,sha256=PawUaNV7EZWBQVWXkGaXy1Z16hUgxU4BLDeUFR83ewM,1300
|
|
81
|
-
funboost/consumers/tcp_consumer.py,sha256=
|
|
82
|
+
funboost/consumers/tcp_consumer.py,sha256=65QyJMZ4uHSIVvQsIUnAIB5M7tWrUt9fV_oXrOQIhAY,2172
|
|
82
83
|
funboost/consumers/txt_file_consumer.py,sha256=Uelk6q8hYPudofJXMTaCmg_td7z7HAcZGdoqgRgolOs,1261
|
|
83
|
-
funboost/consumers/udp_consumer.py,sha256=
|
|
84
|
-
funboost/consumers/zeromq_consumer.py,sha256=
|
|
84
|
+
funboost/consumers/udp_consumer.py,sha256=SN5ec2q3j8xT3JHa7BDDFkd8fxzMOOyUrqY_TbWkbgo,1776
|
|
85
|
+
funboost/consumers/zeromq_consumer.py,sha256=shbQpTMil4bvWkl1MHg7BBwQcKwpM917gB2_3s7gSzg,4392
|
|
85
86
|
funboost/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
86
87
|
funboost/contrib/api_publish_msg.py,sha256=6U7K1rW3vACf8PvxraHqcDh8JQqcDBf5njEWo1P_xg0,2648
|
|
87
88
|
funboost/contrib/django_db_deco.py,sha256=RJaRUYdVqS10gWqM4Ncs0Lngox52SUaqIIn5GK5a8Uo,865
|
|
88
89
|
funboost/contrib/queue2queue.py,sha256=4-28ULM7PTbmbOw8DG9rjlMUQCDkJNcUqkmdHAkGg2c,4898
|
|
89
90
|
funboost/contrib/redis_consume_latest_msg_broker.py,sha256=ESortBZ2qu_4PBCa3e3FeL2k_PClZNb74_v55HV-BOg,1902
|
|
90
|
-
funboost/contrib/save_result_status_to_sqldb.py,sha256=AxvD7nHs4sjr9U0kwEZzyPKrsGdU_JzEgzzhh_V1_4w,4071
|
|
91
91
|
funboost/contrib/cdc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
92
92
|
funboost/contrib/cdc/mysql2mysql.py,sha256=J7jLHTB27WO3iMMNU4s556b_p0x51dgnCz5c7eVWtKk,2317
|
|
93
|
+
funboost/contrib/save_function_result_status/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
94
|
+
funboost/contrib/save_function_result_status/save_result_status_to_sqldb.py,sha256=Q8LBYDHQlmL2ZyYDyKIiecP1AmvU-MWHYTiQ0AZIQMk,3005
|
|
95
|
+
funboost/contrib/save_function_result_status/save_result_status_use_dataset.py,sha256=O5OWw5SiFZ2Uxwj6QCdCuoXtfstm1886PxbbmlOi9xY,1686
|
|
93
96
|
funboost/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
94
97
|
funboost/core/active_cousumer_info_getter.py,sha256=RF_xJMCskQImWwi7aLcIVipsp5KgDZZ4vtxBEhoPeTI,16086
|
|
95
|
-
funboost/core/booster.py,sha256=
|
|
98
|
+
funboost/core/booster.py,sha256=dAk1oUWkpvlBsOas18UvF6GBjhrT1eOeL4TE5XKBTFo,23423
|
|
99
|
+
funboost/core/broker_kind__exclusive_config_default_define.py,sha256=OOkQd5RMaSHaqS4eeBQp08Obu04jhoOwtYL5SQg1RS4,7680
|
|
96
100
|
funboost/core/current_task.py,sha256=6f7IbGZaSnojVxIeyXPkk5LE2yUiRRTJBjTNqwLL2WU,7270
|
|
97
101
|
funboost/core/exceptions.py,sha256=twp5eAUCds3sWh3Ar7WVNhCn3y_TFqb-Ajwbjb9scGU,1564
|
|
98
102
|
funboost/core/fabric_deploy_helper.py,sha256=foieeqlNySuU9axJzNF6TavPjIUSYBx9UO3syVKUiyY,9999
|
|
99
103
|
funboost/core/funboost_config_getter.py,sha256=b5nAdAmUxahskY-ohB7ptf2gKywFlDA0Fq1cWroxxbs,384
|
|
100
|
-
funboost/core/funboost_time.py,sha256=
|
|
101
|
-
funboost/core/func_params_model.py,sha256=
|
|
104
|
+
funboost/core/funboost_time.py,sha256=0Iyx5wRYLsHiq4KcoIwVwMkktgu388rV0kP1AQuSlgU,1951
|
|
105
|
+
funboost/core/func_params_model.py,sha256=QeDyEvC_1O_L_Hj6t9CloUy-vp7OfCDbDz4Db0sASog,26551
|
|
102
106
|
funboost/core/function_result_status_config.py,sha256=PyjqAQOiwsLt28sRtH-eYRjiI3edPFO4Nde0ILFRReE,1764
|
|
103
107
|
funboost/core/function_result_status_saver.py,sha256=LMLF6AROCaaYB1HIXT13L5NB6r-yezaCGeB9VSSxnQ0,9871
|
|
104
|
-
funboost/core/helper_funs.py,sha256=
|
|
108
|
+
funboost/core/helper_funs.py,sha256=tc4gLj9Lsnb39U1h1276NjjnuMUqfVW57JKZ6wXwrkI,2766
|
|
105
109
|
funboost/core/kill_remote_task.py,sha256=lfclwtNhMDGLKX2UCpK_wyhnKPKkoxCZxesRA6KHOrc,8186
|
|
106
110
|
funboost/core/lazy_impoter.py,sha256=yyJqwmbJziMfRTESn9magqso-_8ppl8yzHFCS5qzxkI,5104
|
|
107
111
|
funboost/core/loggers.py,sha256=YY69MAP_o0Eq-CHp5UNWrKDYpoJsiHZ92E2i_fxcxRI,2358
|
|
@@ -114,7 +118,7 @@ funboost/core/cli/discovery_boosters.py,sha256=mbEyv0bUIGcmgkfXLI_Q1IK1QvVwKyro8
|
|
|
114
118
|
funboost/core/cli/funboost_cli_user_templ.py,sha256=XUpKLxRKtYfebPUM8wii64kB0HW8L7j9LnRpT0xCfQI,2243
|
|
115
119
|
funboost/core/cli/funboost_fire.py,sha256=n2Zny_UJ7zx4kRXD_YzNBHqdHMc7n0SE7gL28tuwiPU,5387
|
|
116
120
|
funboost/factories/__init__.py,sha256=s7kKKjR1HU5eMjPD6r5b-SXTVMo1zBp2JjOAtkyt5Yo,178
|
|
117
|
-
funboost/factories/broker_kind__publsiher_consumer_type_map.py,sha256=
|
|
121
|
+
funboost/factories/broker_kind__publsiher_consumer_type_map.py,sha256=S2wloeAngjfEoSRI8MtfhaDxceo6cEh6jBdM9D42mgc,11282
|
|
118
122
|
funboost/factories/consumer_factory.py,sha256=3RbdcH5fNAnumDkZhtRpDP7RsfJw50NLCgl_-YgJclE,1494
|
|
119
123
|
funboost/factories/publisher_factotry.py,sha256=W5giVsQnT6pHRIC6nRANj0-XBovkuzkl0Zqcb4u5o_U,2529
|
|
120
124
|
funboost/function_result_web/app.py,sha256=bEr9vdceU2cX4ZKqHDXUOQVKlobSLI_qzzzE-A3DABo,14895
|
|
@@ -166,7 +170,7 @@ funboost/function_result_web/static/js_cdn/bootstrap/3.3.7/js/bootstrap.min.js,s
|
|
|
166
170
|
funboost/function_result_web/static/js_cdn/tabulator-tables@5.5.0/dist/js/tabulator.min.js,sha256=4pzeFofM4NClu9YOgnul_3io2X31ZB3HtdeKOb3J1UU,390787
|
|
167
171
|
funboost/function_result_web/templates/about.html,sha256=m5ZUVmAbvgBdXXYJRGS7JLHQZMB6RuPu-9PsBp4Hwvc,2416
|
|
168
172
|
funboost/function_result_web/templates/conusme_speed.html,sha256=0Txe47pwad8166BzivsrHEIb0cUS-FlQBrBNYrciT1g,9136
|
|
169
|
-
funboost/function_result_web/templates/fun_result_table.html,sha256=
|
|
173
|
+
funboost/function_result_web/templates/fun_result_table.html,sha256=uF5bviMAAHOFbYy1rszAoZzK0WjOCOuXH759Ocugf8U,18987
|
|
170
174
|
funboost/function_result_web/templates/index.html,sha256=2eHJau1boHAu1N3VMOax5bzUP6UCBGN0SyFrKlDRryM,9887
|
|
171
175
|
funboost/function_result_web/templates/index_backup.html,sha256=qwUWHyQFrbSVSnZUjU5E9Zxy6a9mEJF_BdH0HeUxXOU,20045
|
|
172
176
|
funboost/function_result_web/templates/login.html,sha256=q37dj7O0LeyiV38Zd5P1Qn_qmhjdFomuYTRY1Yk48Bo,2007
|
|
@@ -175,7 +179,7 @@ funboost/function_result_web/templates/rpc_call.html,sha256=qFznWysEFTvJKUQYqnJa
|
|
|
175
179
|
funboost/function_result_web/templates/running_consumer_by_ip.html,sha256=2Rcxbi80c1JEIRCnNe1MG55axdb0vBlkB6yL9rxw53c,10248
|
|
176
180
|
funboost/function_result_web/templates/running_consumer_by_queue_name.html,sha256=r5EYlfp0fE8RFWzI0k3K571EUmirwcPX9NdnSEfAWiQ,10301
|
|
177
181
|
funboost/publishers/__init__.py,sha256=xqBHlvsJQVPfbdvP84G0LHmVB7-pFBS7vDnX1Uo9pVY,131
|
|
178
|
-
funboost/publishers/base_publisher.py,sha256=
|
|
182
|
+
funboost/publishers/base_publisher.py,sha256=BjuKTTA5a-VxZuKqMopWWy_IpMWoB-DypGcsNL3wheg,19533
|
|
179
183
|
funboost/publishers/celery_publisher.py,sha256=uc9N1uLW74skUCw8dsnvxORM2O3cy4SiI7tUZRmvkHA,2336
|
|
180
184
|
funboost/publishers/celery_publisher000.py,sha256=2XLOyU2__vlIUTi5L15uf0BJqAIjxbc3kCLIRDSOY9w,3966
|
|
181
185
|
funboost/publishers/confluent_kafka_publisher.py,sha256=B4rF6gljixOMyN6L2eL1gzqTv97uoy7TTzgKUhHljEQ,4749
|
|
@@ -199,7 +203,8 @@ funboost/publishers/nsq_publisher.py,sha256=ySUUyfAMRPSozWYGzAgOMCR_MF0J1iZTDFVU
|
|
|
199
203
|
funboost/publishers/peewee_publisher.py,sha256=RsYAqBKf_ZLxkGJeZPWExzG4cpUac7weCeNhcSQ9hZc,1095
|
|
200
204
|
funboost/publishers/persist_queue_publisher.py,sha256=wuKUU3DRiDy4Ab67m9_0ee65uXhqHtfnVWY43JuQFdY,2594
|
|
201
205
|
funboost/publishers/pulsar_publisher.py,sha256=-Qka_oTtpiBMEzu8oqQJteVbGuWpDHd0sgQoNd7N_2k,1248
|
|
202
|
-
funboost/publishers/rabbitmq_amqpstorm_publisher.py,sha256=
|
|
206
|
+
funboost/publishers/rabbitmq_amqpstorm_publisher.py,sha256=_zhdiS-aeOvfw3tiNM3CyC9XOUBBz--HlS98-8ecgc4,3310
|
|
207
|
+
funboost/publishers/rabbitmq_complex_routing_publisher.py,sha256=4jMO579U2OWnVTyh_aNQTt44bgVhAa7pXUaJqjigMGs,4733
|
|
203
208
|
funboost/publishers/rabbitmq_pika_publisher.py,sha256=QygZv96tYmfJcs8Dukv3J_x134gvCOzGkILQRE6toU0,2325
|
|
204
209
|
funboost/publishers/rabbitmq_rabbitpy_publisher.py,sha256=GGXPKxE6-mAjqMIKqwvR9d7L-zuJQcQoU9uRsQLNGas,1953
|
|
205
210
|
funboost/publishers/redis_publisher.py,sha256=EDnQSt73FE2PGq0WHyvsMuaoD_6wp_tuZveWrMF7iLY,3439
|
|
@@ -241,7 +246,7 @@ funboost/utils/monkey_patches.py,sha256=vGmtPuTwNLbS8T3gpufSC_cD8_Vnp85roZrCpJZU
|
|
|
241
246
|
funboost/utils/mqtt_util.py,sha256=BfCmyYwI-B8VL9499_IuYlJDCbv6ZhwyWThMf8dANOU,3199
|
|
242
247
|
funboost/utils/paramiko_util.py,sha256=rHJm9Cp1YX24ew3jT5iR0qPqv-WJLd7VhRoMkHphY60,5244
|
|
243
248
|
funboost/utils/rabbitmq_factory.py,sha256=ifDCn2RxSGL4MccmktJc5FYQhAcboCgHBlEo3WGpq3g,2910
|
|
244
|
-
funboost/utils/redis_manager.py,sha256=
|
|
249
|
+
funboost/utils/redis_manager.py,sha256=rhXjYTN22--JD6ZgKW2dnTtfZEmCUT8QdXmBpjP3gks,4113
|
|
245
250
|
funboost/utils/redis_manager_old.py,sha256=c3RBXN6dM3kjVBqkCdotpZuYmFs4d9emfp5iJgC61Us,5516
|
|
246
251
|
funboost/utils/resource_monitoring.py,sha256=EWq7hqQLM2hYpbkv4sVw9YcpHLxfg8arcGz-QXw9lf0,5710
|
|
247
252
|
funboost/utils/restart_python.py,sha256=bFbV0_24ajL8hBwVRLxWe9v9kTwiX1fGLhXRroNnmgQ,1418
|
|
@@ -327,9 +332,8 @@ funboost/utils/func_timeout/dafunc.py,sha256=Yy98BzsmgWi07ja5zM4ElLwb1h8NXahxtRG
|
|
|
327
332
|
funboost/utils/func_timeout/exceptions.py,sha256=tUEaspemq_dS460EQvUMMSxeeyjIbgfEHIdxIC6ZhaU,3974
|
|
328
333
|
funboost/utils/func_timeout/py2_raise.py,sha256=9tpZLQ3-zIgU_ixazydwZmw8rFg7ybjI9alNYfSvwRk,169
|
|
329
334
|
funboost/utils/func_timeout/py3_raise.py,sha256=Odvg1FtXTEC--Ru1EIfsHASamBpOm9hdXY7OnlEUObA,280
|
|
330
|
-
funboost-50.
|
|
331
|
-
funboost-50.
|
|
332
|
-
funboost-50.
|
|
333
|
-
funboost-50.
|
|
334
|
-
funboost-50.
|
|
335
|
-
funboost-50.3.dist-info/RECORD,,
|
|
335
|
+
funboost-50.4.dist-info/METADATA,sha256=JS71ctdQ-jYfAkdDumpE6g5Ve1KDzHLE_xq9xttVBwI,44746
|
|
336
|
+
funboost-50.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
337
|
+
funboost-50.4.dist-info/entry_points.txt,sha256=yMSSAGRzRAAhGyNNQHw24MooKlDZsaJ499_D6fPl58A,96
|
|
338
|
+
funboost-50.4.dist-info/top_level.txt,sha256=K8WuKnS6MRcEWxP1NvbmCeujJq6TEfbsB150YROlRw0,9
|
|
339
|
+
funboost-50.4.dist-info/RECORD,,
|