funboost 49.0__py3-none-any.whl → 49.2__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.

Files changed (27) hide show
  1. funboost/__init__.py +1 -1
  2. funboost/concurrent_pool/async_helper.py +20 -1
  3. funboost/concurrent_pool/async_pool_executor.py +40 -56
  4. funboost/concurrent_pool/backup/async_pool_executor_back.py +4 -2
  5. funboost/constant.py +27 -3
  6. funboost/consumers/base_consumer.py +11 -6
  7. funboost/core/active_cousumer_info_getter.py +51 -4
  8. funboost/function_result_web/__pycache__/app.cpython-313.pyc +0 -0
  9. funboost/function_result_web/__pycache__/app.cpython-37.pyc +0 -0
  10. funboost/function_result_web/__pycache__/functions.cpython-313.pyc +0 -0
  11. funboost/function_result_web/app.py +35 -7
  12. funboost/function_result_web/app_debug_start.py +4 -0
  13. funboost/function_result_web/templates/queue_op.html +149 -192
  14. funboost/function_result_web/templates/rpc_call.html +1 -1
  15. funboost/publishers/faststream_publisher.py +3 -2
  16. funboost/set_frame_config.py +2 -1
  17. funboost/timing_job/apscheduler_use_redis_store.py +8 -1
  18. funboost/timing_job/timing_job_base.py +21 -8
  19. funboost/timing_job/timing_push.py +26 -8
  20. funboost/utils/dependency_packages_in_pythonpath/aioredis/readme.md +0 -6
  21. funboost/utils/dependency_packages_in_pythonpath/readme.md +0 -6
  22. {funboost-49.0.dist-info → funboost-49.2.dist-info}/METADATA +7 -6
  23. {funboost-49.0.dist-info → funboost-49.2.dist-info}/RECORD +27 -25
  24. {funboost-49.0.dist-info → funboost-49.2.dist-info}/LICENSE +0 -0
  25. {funboost-49.0.dist-info → funboost-49.2.dist-info}/WHEEL +0 -0
  26. {funboost-49.0.dist-info → funboost-49.2.dist-info}/entry_points.txt +0 -0
  27. {funboost-49.0.dist-info → funboost-49.2.dist-info}/top_level.txt +0 -0
@@ -6,7 +6,7 @@ from funboost.timing_job.timing_job_base import funboost_aps_scheduler, undefine
6
6
  from funboost.timing_job.apscheduler_use_redis_store import FunboostBackgroundSchedulerProcessJobsWithinRedisLock
7
7
  from funboost.funboost_config_deafult import FunboostCommonConfig
8
8
  from apscheduler.schedulers.base import BaseScheduler
9
-
9
+ from funboost.constant import RedisKeys
10
10
 
11
11
  class ApsJobAdder:
12
12
  """
@@ -52,12 +52,13 @@ class ApsJobAdder:
52
52
  redis_jobstores = {
53
53
 
54
54
  "default": RedisJobStore(**redis_manager.get_redis_conn_kwargs(),
55
- jobs_key=f'funboost.apscheduler.{queue_name}.jobs',
56
- run_times_key=f'funboost.apscheduler.{queue_name}.run_times',
55
+ jobs_key=RedisKeys.gen_funboost_redis_apscheduler_jobs_key_by_queue_name(queue_name),
56
+ run_times_key=RedisKeys.gen_funboost_redis_apscheduler_run_times_key_by_queue_name(queue_name),
57
57
  )
58
58
  }
59
59
  redis_aps = FunboostBackgroundSchedulerProcessJobsWithinRedisLock(timezone=FunboostCommonConfig.TIMEZONE,
60
60
  daemon=False, jobstores=redis_jobstores)
61
+ redis_aps.set_process_jobs_redis_lock_key(RedisKeys.gen_funboost_apscheduler_redis_lock_key_by_queue_name(queue_name))
61
62
  cls.queue__redis_aps_map[queue_name] = redis_aps
62
63
  return redis_aps
63
64
 
@@ -76,9 +77,23 @@ class ApsJobAdder:
76
77
  next_run_time=undefined, jobstore='default', executor='default',
77
78
  replace_existing=False, **trigger_args, ):
78
79
  """
79
- 这里的入参都是和apscheduler的add_job的入参一样的,funboost作者没有创造新的入参。
80
+ 1. 这里的入参都是和apscheduler的add_job的入参一样的,funboost作者没有创造新的入参。
80
81
  但是官方apscheduler的入参第一个入参是函数,
81
82
  funboost的ApsJobAdder对象.add_push_job入参去掉了函数,因为类的实例化时候会把函数传进来,不需要再麻烦用户一次了。
83
+
84
+
85
+ 2. add_push_job目的是 定时运行 消费函数.push方法发布消息到消费队列, 而不是 定时直接运行 消费函数自身。
86
+
87
+ 相当于 aps_obj.add_job(消费函数.push, trigger, args, kwargs, id, name, .....)
88
+ 那为什么 不直接使用 aps_obj.add_job(消费函数.push, trigger, args, kwargs, id, name, .....) 呢?因为 消费函数.push是实例方法,
89
+ 如果redis作为 jobstore, 消费函数.push 会报错,因为 消费函数.push 是实例方法,不能被序列化。只有普通函数和静态方法才能被序列化。
90
+ 所以开发了一个 add_push_job方法, 里面再去用 add_job, 使用 push_fun_params_to_broker 这个普通函数作为 add_job 的第一个入参,
91
+ 这个普通函数里面再去调用 消费函数.push 方法, 相当于是曲线救国避免 aps_obj.add_job(消费函数.push 不可序列化问题。
92
+
93
+
94
+ 3. 用户也可以自己定义一个普通函数my_push,你这个普通函数my_push 里面去调用消费函数.push方法;然后使用 aps_obj.add_job 使用你自己定义的这个my_push作为第一个入参。
95
+ 这种方式更容易你去理解,和apscheduler 官方库的原生写法一模一样。 但是不如 add_push_job 方便,因为 需要你亲自给每个消费函数分别定义一个普通函数my_push。
96
+
82
97
  """
83
98
 
84
99
  # if not getattr(self.aps_obj, 'has_started_flag', False):
@@ -93,6 +108,7 @@ class ApsJobAdder:
93
108
  if __name__ == '__main__':
94
109
  """
95
110
  2025年后定时任务现在推荐使用 ApsJobAdder 写法 ,用户不需要亲自选择使用 apscheduler对象来添加定时任务
111
+ 特别是使用redis作为jobstores时候,你可以看源码就知道了。
96
112
  """
97
113
  from funboost import boost, BrokerEnum, ctrl_c_recv, BoosterParams, ApsJobAdder
98
114
 
@@ -104,7 +120,7 @@ if __name__ == '__main__':
104
120
  print(f'The sum of {x} and {y} is {result}')
105
121
 
106
122
  # 启动消费者
107
- sum_two_numbers.consume()
123
+ # sum_two_numbers.consume()
108
124
 
109
125
  # 发布任务
110
126
  sum_two_numbers.push(3, 5)
@@ -118,14 +134,16 @@ if __name__ == '__main__':
118
134
  ApsJobAdder(sum_two_numbers, job_store_kind='redis').add_push_job(
119
135
  trigger='date',
120
136
  run_date='2025-01-17 23:25:40',
121
- args=(7, 8)
137
+ args=(7, 8),
138
+ id='date_job1'
122
139
  )
123
140
 
124
141
  # 方式2:固定间隔执行
125
142
  ApsJobAdder(sum_two_numbers, job_store_kind='memory').add_push_job(
126
143
  trigger='interval',
127
144
  seconds=5,
128
- args=(4, 6)
145
+ args=(4, 6),
146
+ id='interval_job1'
129
147
  )
130
148
 
131
149
  # 方式3:使用cron表达式定时执行
@@ -139,4 +157,4 @@ if __name__ == '__main__':
139
157
  replace_existing=True,
140
158
  id='cron_job1')
141
159
 
142
- ctrl_c_recv()
160
+ ctrl_c_recv() # 启动了守护线程的定时器,一定要阻止主线程退出。 你可以代码最末尾加这个 ctrl_c_recv() 或者加个 while 1:time.sleep(10)
@@ -1,9 +1,3 @@
1
- ---
2
- noteId: "6a466cf0411e11f0a66f39b062f95544"
3
- tags: []
4
-
5
- ---
6
-
7
1
 
8
2
  ## 1 asioredis包将不再更新 ,ptyhon 3.11 版本 import aioredis会出错。
9
3
 
@@ -1,9 +1,3 @@
1
- ---
2
- noteId: "69fa48c0411e11f0a66f39b062f95544"
3
- tags: []
4
-
5
- ---
6
-
7
1
  ## 这个文件夹被添加到 sys.path中去了。
8
2
 
9
3
  funboost __init__.py 第一行就把这个添加到 sys.path了,相当于 export PYTHONPATH 了。
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: funboost
3
- Version: 49.0
3
+ Version: 49.2
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
@@ -23,12 +23,13 @@ Classifier: Programming Language :: Python :: 3.9
23
23
  Classifier: Programming Language :: Python :: 3.10
24
24
  Classifier: Programming Language :: Python :: 3.11
25
25
  Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Programming Language :: Python :: 3.13
26
27
  Classifier: Programming Language :: Python :: 3 :: Only
27
28
  Classifier: Topic :: Software Development :: Libraries
28
29
  Description-Content-Type: text/markdown
29
30
  License-File: LICENSE
30
31
  Requires-Dist: nb-log >=13.2
31
- Requires-Dist: nb-libs >=1.8
32
+ Requires-Dist: nb-libs >=1.9
32
33
  Requires-Dist: nb-time >=2.4
33
34
  Requires-Dist: pymongo >=4.6.3
34
35
  Requires-Dist: AMQPStorm ==2.10.6
@@ -67,8 +68,6 @@ Requires-Dist: dramatiq ==1.14.2 ; extra == 'all'
67
68
  Requires-Dist: huey ==2.4.5 ; extra == 'all'
68
69
  Requires-Dist: rq ==1.15.0 ; extra == 'all'
69
70
  Requires-Dist: kombu ; extra == 'all'
70
- Requires-Dist: eventlet ==0.33.3 ; extra == 'all'
71
- Requires-Dist: gevent ==22.10.2 ; extra == 'all'
72
71
  Requires-Dist: elasticsearch ; extra == 'all'
73
72
  Requires-Dist: gnsq ==1.0.1 ; extra == 'all'
74
73
  Requires-Dist: psutil ; extra == 'all'
@@ -80,6 +79,8 @@ Requires-Dist: rocketmq ; extra == 'all'
80
79
  Requires-Dist: zmq ; extra == 'all'
81
80
  Requires-Dist: pyzmq ; extra == 'all'
82
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'
83
84
  Requires-Dist: flask ; extra == 'all'
84
85
  Requires-Dist: flask-bootstrap ; extra == 'all'
85
86
  Requires-Dist: flask-wtf ; extra == 'all'
@@ -97,8 +98,6 @@ Requires-Dist: dramatiq ==1.14.2 ; extra == 'extra_brokers'
97
98
  Requires-Dist: huey ==2.4.5 ; extra == 'extra_brokers'
98
99
  Requires-Dist: rq ==1.15.0 ; extra == 'extra_brokers'
99
100
  Requires-Dist: kombu ; extra == 'extra_brokers'
100
- Requires-Dist: eventlet ==0.33.3 ; extra == 'extra_brokers'
101
- Requires-Dist: gevent ==22.10.2 ; extra == 'extra_brokers'
102
101
  Requires-Dist: elasticsearch ; extra == 'extra_brokers'
103
102
  Requires-Dist: gnsq ==1.0.1 ; extra == 'extra_brokers'
104
103
  Requires-Dist: psutil ; extra == 'extra_brokers'
@@ -110,6 +109,8 @@ Requires-Dist: rocketmq ; extra == 'extra_brokers'
110
109
  Requires-Dist: zmq ; extra == 'extra_brokers'
111
110
  Requires-Dist: pyzmq ; extra == 'extra_brokers'
112
111
  Requires-Dist: kafka-python ==2.0.2 ; extra == 'extra_brokers'
112
+ Requires-Dist: eventlet ==0.33.3 ; extra == 'extra_brokers'
113
+ Requires-Dist: gevent ==22.10.2 ; extra == 'extra_brokers'
113
114
  Requires-Dist: pulsar-client ==3.1.0 ; (python_version >= "3.7") and extra == 'extra_brokers'
114
115
  Provides-Extra: flask
115
116
  Requires-Dist: flask ; extra == 'flask'
@@ -1,9 +1,9 @@
1
- funboost/__init__.py,sha256=VAxEZKSn99EB43-gXfa8yQ1X7YOgowZRTo9NEQQCuR0,4093
1
+ funboost/__init__.py,sha256=8vnMlEePULNHsrC0htQCbUucmVBpGGEZcxKGnBhrJ5k,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=LreGf6HJ0TCj0HQKvfP4T5ZR9-KJUU7-SkoH1BM1HFM,9164
4
+ funboost/constant.py,sha256=Mie1szuOrJxMfkvAcRQLmo8Wstrk8OHWEn6owVLaJ-g,10047
5
5
  funboost/funboost_config_deafult.py,sha256=291HaHfcXqLxde6udJZwQoOAeGzKCkV-DkKs1aJSPu4,6704
6
- funboost/set_frame_config.py,sha256=kxYo_x2pMihwfTgFWrLxNbgI0IbFYC_HpSd9YLQM1ig,14439
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=zhyAIBIbnPcS8pdp0oqVh57Jx-hIDX0njTZiYZFCLFw,6486
9
9
  funboost/assist/dramatiq_helper.py,sha256=9mUyfBMAJXzwvB8LwOmapn3rY30a6UXt3tNOfL6OXoM,2106
@@ -15,8 +15,8 @@ funboost/assist/rq_windows_worker.py,sha256=jQlGmU0FWPVoKVP8cyuwTuAca9VfSd75F5Qw
15
15
  funboost/assist/taskiq_helper.py,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
16
16
  funboost/beggar_version_implementation/beggar_redis_consumer.py,sha256=x5cH6Vc3_UooY2oPeC9MlpMewrGd9qXCx6gEWi1fGa0,3941
17
17
  funboost/concurrent_pool/__init__.py,sha256=C27xYXj7c1NGuVeG7K2LxKH7JKnGwfPfITyon6xFaoE,803
18
- funboost/concurrent_pool/async_helper.py,sha256=bK4SyTu_WpgxCvai2AaiI7EKQ-COiDbqu0WPnbaJ1jM,3421
19
- funboost/concurrent_pool/async_pool_executor.py,sha256=LtkInrn8ZxZKEQGRjdQ7XKq6C6Taw0AgCkNuqcXZ0rU,7558
18
+ funboost/concurrent_pool/async_helper.py,sha256=Q2EVZeS_A29-S6i9VszC6HNNW-RkICF8v3t_9GJMwFw,3942
19
+ funboost/concurrent_pool/async_pool_executor.py,sha256=NkoPFrIhbnE7MurmmH2FOBU_ARlvkxgaX9-RdZ2Nk_k,6767
20
20
  funboost/concurrent_pool/base_pool_type.py,sha256=h3xcadufMAf49CoNe5VkUyIxlniMeNtDjadqB5IsiKA,194
21
21
  funboost/concurrent_pool/bounded_processpoolexcutor_gt_py37.py,sha256=pWqpKAP0Z0cuHdSHJ5ti6EpNndnIoYkPE6IOl4BvbJw,4775
22
22
  funboost/concurrent_pool/bounded_processpoolexcutor_py36.py,sha256=CMRSjwnUAhNT2fj44SVNEYRehprlxjQADYkgw9hTVlw,3063
@@ -32,11 +32,11 @@ funboost/concurrent_pool/pool_commons.py,sha256=oJjVeJyUfN7ErYbm7tXXHn2rRzASxLuf
32
32
  funboost/concurrent_pool/single_thread_executor.py,sha256=rRrqDGmJxxtKBUxigUl1WATLXTGODpmtNoVOF8vRt_w,468
33
33
  funboost/concurrent_pool/backup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
34
  funboost/concurrent_pool/backup/async_pool_executor0223.py,sha256=RVUZiylUvpTm6Um0PHAdDD2s7RVRXz8gHykYfktqLdI,9578
35
- funboost/concurrent_pool/backup/async_pool_executor_back.py,sha256=KL6zEQaa1KkZOlAO85mCC1gwLm-YC5Ghn21IUom0UKM,9598
35
+ funboost/concurrent_pool/backup/async_pool_executor_back.py,sha256=x0pyPgxzTENOs-fIkwkwrcG_GKG9F1QwCsafs1WYe6Y,9678
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=5Z1T0NBdouC96Qs4b7uyaKEAxpYP5WzLbZfBtAMVstU,86164
39
+ funboost/consumers/base_consumer.py,sha256=5jyNMB0f7WIaoreq1oCG4_ZujFylFvVvddzVkGVNZFg,86642
40
40
  funboost/consumers/celery_consumer.py,sha256=nQpSkzPBJ4bRpxn4i9ms0axrJiq9RWhb4lG2nAdCIig,9254
41
41
  funboost/consumers/confirm_mixin.py,sha256=5xC9AAQr_MY4tbSed8U-M6tOVmh69Qv9X0ld0JLT9Tk,6185
42
42
  funboost/consumers/dramatiq_consumer.py,sha256=ozmeAfeF0U-YNYHK4suQB0N264h5AZdfMH0O45Mh-8A,2229
@@ -86,7 +86,7 @@ funboost/contrib/queue2queue.py,sha256=4-28ULM7PTbmbOw8DG9rjlMUQCDkJNcUqkmdHAkGg
86
86
  funboost/contrib/redis_consume_latest_msg_broker.py,sha256=ESortBZ2qu_4PBCa3e3FeL2k_PClZNb74_v55HV-BOg,1902
87
87
  funboost/contrib/save_result_status_to_sqldb.py,sha256=AxvD7nHs4sjr9U0kwEZzyPKrsGdU_JzEgzzhh_V1_4w,4071
88
88
  funboost/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
- funboost/core/active_cousumer_info_getter.py,sha256=qxaCeK9Jxe_P4FyVNQI3omtb8lrNnvy_hNc11NmCUCo,12155
89
+ funboost/core/active_cousumer_info_getter.py,sha256=vd7yja7o0d77DhRj_h052Gh4V_72W6BpTBFFlD22KMA,15252
90
90
  funboost/core/booster.py,sha256=PZ_ab4b663FxkO9KqBPy6kaks03j0jantxCq5JMJWCo,20377
91
91
  funboost/core/current_task.py,sha256=6f7IbGZaSnojVxIeyXPkk5LE2yUiRRTJBjTNqwLL2WU,7270
92
92
  funboost/core/exceptions.py,sha256=pLF7BkRJAfDiWp2_xGZqencmwdPiSQI1NENbImExknY,1311
@@ -112,11 +112,13 @@ funboost/factories/__init__.py,sha256=s7kKKjR1HU5eMjPD6r5b-SXTVMo1zBp2JjOAtkyt5Y
112
112
  funboost/factories/broker_kind__publsiher_consumer_type_map.py,sha256=-kKhV65KnRf86b353PJuaEMXMolfV4B2CtTF1wD1kFQ,10189
113
113
  funboost/factories/consumer_factory.py,sha256=EaAw3OZJkGepkQxKkDvMshHjIVOQva_N6nUEhLO4JwU,1500
114
114
  funboost/factories/publisher_factotry.py,sha256=4651sxnbIAi6sFEUQdlUuv8UkbMQIE_Pbzm-1DimAs8,2535
115
- funboost/function_result_web/app.py,sha256=a10Ctvdt_OgjFMe4MrSUdC9edhvb2dDp4YWGfMzT3b0,11624
116
- funboost/function_result_web/app_debug_start.py,sha256=OP79Wp3QWRjaKNAKXeW4WZ4-UCGgeYyT5ppykblMK8E,152
115
+ funboost/function_result_web/app.py,sha256=umXTsGbL-uMFJJoMuALZoUc5d3XZ1SynUV-Lz_w0fZY,14117
116
+ funboost/function_result_web/app_debug_start.py,sha256=8O9-ZMRMIokJAH55AOrpDLr02iNYt4JhW_0FcIgRXUI,338
117
117
  funboost/function_result_web/functions.py,sha256=iPaYcg7reUFXe2HclG6jzavQPcjwLOt3rUdZ7-FghXE,11286
118
- funboost/function_result_web/__pycache__/app.cpython-37.pyc,sha256=xOqvwi3wEmHCKMhLYwkKIk0mG5MEKrQ4mljb1fOiMVI,9809
118
+ funboost/function_result_web/__pycache__/app.cpython-313.pyc,sha256=yxIpPlpjK_OiVUkV0VzTJPLs1gkD1XlPSr5Gu9Ebzso,18370
119
+ funboost/function_result_web/__pycache__/app.cpython-37.pyc,sha256=ciDHMnkwNj2g_-IrfSVwqHSu7q9RoK9dRsh23cqd-0I,11922
119
120
  funboost/function_result_web/__pycache__/app.cpython-39.pyc,sha256=qdvJ3NlUvov7tAmCl0WfNTOUh0NVpeAST4b8OLHpLXw,9828
121
+ funboost/function_result_web/__pycache__/functions.cpython-313.pyc,sha256=gfo7k-wu81PlRPcYFdzC_Xu3MZuKizi8jevZYfkoa4I,11827
120
122
  funboost/function_result_web/__pycache__/functions.cpython-37.pyc,sha256=NDy7JvbD5Q_VCWkXSV2jTpgdbOWNKDpHQbqm3c7523Q,5940
121
123
  funboost/function_result_web/__pycache__/functions.cpython-39.pyc,sha256=HY1LCsLzLfDgzgYc5_IgpQ8LFhWP9PnKh5V05XM_rJ4,6026
122
124
  funboost/function_result_web/static/assets/css/custom.css,sha256=3brvjy2aBOTIXcTUK4NV6dX5wFRqx6K2aLu_jQn63jM,7674
@@ -163,8 +165,8 @@ funboost/function_result_web/templates/fun_result_table.html,sha256=KBi9XBBgF3lp
163
165
  funboost/function_result_web/templates/index.html,sha256=2eHJau1boHAu1N3VMOax5bzUP6UCBGN0SyFrKlDRryM,9887
164
166
  funboost/function_result_web/templates/index_backup.html,sha256=qwUWHyQFrbSVSnZUjU5E9Zxy6a9mEJF_BdH0HeUxXOU,20045
165
167
  funboost/function_result_web/templates/login.html,sha256=q37dj7O0LeyiV38Zd5P1Qn_qmhjdFomuYTRY1Yk48Bo,2007
166
- funboost/function_result_web/templates/queue_op.html,sha256=8de8jX47zIJ-g-zi6AgcsvfXY3IFpjuoQCzmzsjfK-k,46925
167
- funboost/function_result_web/templates/rpc_call.html,sha256=CpKeOOlaLhkn4v7iNY8J9PAp-38j32-La9JIkaQVig0,15600
168
+ funboost/function_result_web/templates/queue_op.html,sha256=bQX5yxRtF6bNk4MIlx3kPUt9fuog7MHgUhghN1k8lso,44673
169
+ funboost/function_result_web/templates/rpc_call.html,sha256=qFznWysEFTvJKUQYqnJaapB833XTjfa8UlEKNk2nFxI,15611
168
170
  funboost/function_result_web/templates/running_consumer_by_ip.html,sha256=2Rcxbi80c1JEIRCnNe1MG55axdb0vBlkB6yL9rxw53c,10248
169
171
  funboost/function_result_web/templates/running_consumer_by_queue_name.html,sha256=r5EYlfp0fE8RFWzI0k3K571EUmirwcPX9NdnSEfAWiQ,10301
170
172
  funboost/publishers/__init__.py,sha256=xqBHlvsJQVPfbdvP84G0LHmVB7-pFBS7vDnX1Uo9pVY,131
@@ -174,7 +176,7 @@ funboost/publishers/celery_publisher000.py,sha256=2XLOyU2__vlIUTi5L15uf0BJqAIjxb
174
176
  funboost/publishers/confluent_kafka_publisher.py,sha256=B4rF6gljixOMyN6L2eL1gzqTv97uoy7TTzgKUhHljEQ,4749
175
177
  funboost/publishers/dramatiq_publisher.py,sha256=IH9F-Ps1r94WDu2a7cZbJqWlBgblDbEcpjGj2rl-9WE,1413
176
178
  funboost/publishers/empty_publisher.py,sha256=Com5m-mkjXpcWxKZZneymhLNaRJNaGAtvwjhwHmECgg,870
177
- funboost/publishers/faststream_publisher.py,sha256=ndGDHz53s_u5NsSi2vK7_Zll2m3lfqzQ8iaNPGHo6oE,2223
179
+ funboost/publishers/faststream_publisher.py,sha256=TS_hFDZ4Q1HGyGJ_3D9m9SroUOmMo-f2hCMTyuEoEIU,2303
178
180
  funboost/publishers/http_publisher.py,sha256=pS3z_AVqH6h4PAgqB7usihvzLJP5ZzfPKQRMQfHrJHQ,753
179
181
  funboost/publishers/httpsqs_publisher.py,sha256=PS6h8-mn3wYFfMOsPt4tal8p0yZgYgrYYO9ZnIl9CwU,2737
180
182
  funboost/publishers/huey_publisher.py,sha256=9HBrsqTO61iPB1nI5fYOQNPuOaX4I4Wmb1BRNODAE_0,1118
@@ -213,9 +215,9 @@ funboost/queues/peewee_queue.py,sha256=FrwegrilkHZG6Y1cGdl5Bt_UtA25f7m5TJQJMZ9Yn
213
215
  funboost/queues/sqla_queue.py,sha256=b-2QPvvuMxklm41ibZhGKehaAV9trXBQFCOHzgThx_s,11080
214
216
  funboost/timing_job/__init__.py,sha256=_rIiU7pMXe-IwUCeok50hSiWXoUoMBar22u6-pZLlAI,265
215
217
  funboost/timing_job/apscheduler_use_mysql_store.py,sha256=ss92DiSLzbWuVIo19sTLgC99GessltWLOlqqOd4AIL4,471
216
- funboost/timing_job/apscheduler_use_redis_store.py,sha256=cGqwULlYhoApzheDliTVn1CN3Ks_cSGDjObEhbSV9IU,2990
217
- funboost/timing_job/timing_job_base.py,sha256=IlTZBmq53wftsQfLl2M-jLJb7adGXQr5e1jCyGlKF0M,9582
218
- funboost/timing_job/timing_push.py,sha256=0inlo-XtHcEWQJVzGQHkTB-40rdIoduREdP9Ux8Yuh8,5930
218
+ funboost/timing_job/apscheduler_use_redis_store.py,sha256=JW60TYFBSf5Zr7RlTcAAGdXwG70sj54GKoUI5ig0Z2U,3389
219
+ funboost/timing_job/timing_job_base.py,sha256=VqPUYOJw0IYDZcNyJdHQdsidw-D2aCZl2rR0QQrV-n8,10149
220
+ funboost/timing_job/timing_push.py,sha256=uXNbDk8XfwWVJHig47qKU0Wka5p8_bniijq4_WfgxS4,7856
219
221
  funboost/utils/__init__.py,sha256=rAyXE7lgCo_3VdMvGrIJiqsTHv2nZPTJDTj1f6s_KgE,586
220
222
  funboost/utils/apscheduler_monkey.py,sha256=CcUISbqX6nMWSxr_QjZ26IvvhUk_ojYZWRaKenpsKfE,3124
221
223
  funboost/utils/block_exit.py,sha256=BnfxNYo3lnmhk686RAEoc4u3D4RU_iEMMMgu5L8gIuI,96
@@ -251,7 +253,7 @@ funboost/utils/dependency_packages/mongomq/test.py,sha256=Tcmme3U3KXFSkdknO71bge
251
253
  funboost/utils/dependency_packages/mongomq/utils.py,sha256=ljhcLhNf3yOc7IgnuRdFqLtwTGynRNd2uXZNRvStAL0,377
252
254
  funboost/utils/dependency_packages_in_pythonpath/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
253
255
  funboost/utils/dependency_packages_in_pythonpath/add_to_pythonpath.py,sha256=eOaK0Cr1yAmLcHhOM5-nV9XxXhQFZQkiaBECY65sFuc,341
254
- funboost/utils/dependency_packages_in_pythonpath/readme.md,sha256=9Od4PVCKPDlhCmOs8FJ02PYqqefYuugP4aRSq5otQzA,982
256
+ funboost/utils/dependency_packages_in_pythonpath/readme.md,sha256=rlYsPSNqIdhp8L8WOJiONQLrPnPhrdFLdnZr2lAg1n0,920
255
257
  funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-311.pyc,sha256=XpiufbSphxt8UXSMqXz9vOGejT4noRAKE3dnfsEGvAg,187
256
258
  funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-313.pyc,sha256=n9egw99NJyOXwjRjq5tgNKC0GlCjFb54efJ1XeBnZC0,175
257
259
  funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-37.pyc,sha256=Oy1-_q-VLcFLQ7RRp8B-fbBkNOb2SepePLYW4L5DQ6U,165
@@ -268,7 +270,7 @@ funboost/utils/dependency_packages_in_pythonpath/aioredis/exceptions.py,sha256=S
268
270
  funboost/utils/dependency_packages_in_pythonpath/aioredis/lock.py,sha256=CnB9LpvykAEXEdQyBEcgUU7iHxwNF3xuGzX7UYuUbiQ,11651
269
271
  funboost/utils/dependency_packages_in_pythonpath/aioredis/log.py,sha256=qTxLRo5EqoHZIGqMguzLm90mtThBRYje_FaZz-fDbhg,427
270
272
  funboost/utils/dependency_packages_in_pythonpath/aioredis/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
271
- funboost/utils/dependency_packages_in_pythonpath/aioredis/readme.md,sha256=vEFfXof1Zx5dVeGynH8tB4xZ75bSAJKNX-0ixoPXO-k,679
273
+ funboost/utils/dependency_packages_in_pythonpath/aioredis/readme.md,sha256=BUZVchvn4henUdpA48IuF6SSSsnzdsMSff8l0MU4R2A,617
272
274
  funboost/utils/dependency_packages_in_pythonpath/aioredis/sentinel.py,sha256=ldPwRIOWVskKsItBwFqbqPfraMlFsGs42_ZDXtxza5U,12536
273
275
  funboost/utils/dependency_packages_in_pythonpath/aioredis/utils.py,sha256=90Dgj62Q9ABGVAwAPwufo3OKM2s0ws6LeQMZg8ifJb0,1284
274
276
  funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/__init__.cpython-311.pyc,sha256=PGpc0JrGU6UjKZ7WgxlpsCL2OuhJhWpE9WrxMHREtPc,1696
@@ -327,9 +329,9 @@ funboost/utils/pysnooper_ydf/utils.py,sha256=evSmGi_Oul7vSP47AJ0DLjFwoCYCfunJZ1m
327
329
  funboost/utils/pysnooper_ydf/variables.py,sha256=QejRDESBA06KG9OH4sBT4J1M55eaU29EIHg8K_igaXo,3693
328
330
  funboost/utils/times/__init__.py,sha256=Y4bQD3SIA_E7W2YvHq2Qdi0dGM4H2DxyFNdDOuFOq1w,2417
329
331
  funboost/utils/times/version.py,sha256=11XfnZVVzOgIhXXdeN_mYfdXThfrsbQHpA0wCjz-hpg,17
330
- funboost-49.0.dist-info/LICENSE,sha256=9EPP2ktG_lAPB8PjmWV-c9BiaJHc_FP6pPLcUrUwx0E,11562
331
- funboost-49.0.dist-info/METADATA,sha256=1J6S7X6a_iNse-4tS2MJ9IfxW-Lys4xSu7Vo2YtYFjs,39804
332
- funboost-49.0.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
333
- funboost-49.0.dist-info/entry_points.txt,sha256=yMSSAGRzRAAhGyNNQHw24MooKlDZsaJ499_D6fPl58A,96
334
- funboost-49.0.dist-info/top_level.txt,sha256=K8WuKnS6MRcEWxP1NvbmCeujJq6TEfbsB150YROlRw0,9
335
- funboost-49.0.dist-info/RECORD,,
332
+ funboost-49.2.dist-info/LICENSE,sha256=9EPP2ktG_lAPB8PjmWV-c9BiaJHc_FP6pPLcUrUwx0E,11562
333
+ funboost-49.2.dist-info/METADATA,sha256=hfRBz1XGWJQHjCmUzb9vHZjDXEw6TDFS944BPDo5b8w,39856
334
+ funboost-49.2.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
335
+ funboost-49.2.dist-info/entry_points.txt,sha256=yMSSAGRzRAAhGyNNQHw24MooKlDZsaJ499_D6fPl58A,96
336
+ funboost-49.2.dist-info/top_level.txt,sha256=K8WuKnS6MRcEWxP1NvbmCeujJq6TEfbsB150YROlRw0,9
337
+ funboost-49.2.dist-info/RECORD,,