funboost 41.3__py3-none-any.whl → 41.5__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 CHANGED
@@ -13,7 +13,7 @@ set_frame_config这个模块的 use_config_form_funboost_config_module() 是核
13
13
  这段注释说明和使用的用户无关,只和框架开发人员有关.
14
14
  '''
15
15
 
16
- __version__ = "41.3"
16
+ __version__ = "41.5"
17
17
 
18
18
  from funboost.set_frame_config import show_frame_config
19
19
 
@@ -528,6 +528,9 @@ class AbstractConsumer(LoggerLevelSetterMixin, metaclass=abc.ABCMeta, ):
528
528
  or current_function_result_status._has_to_dlx_queue
529
529
  or current_function_result_status._has_kill_task):
530
530
  break
531
+ else:
532
+ if self.consumer_params.retry_interval:
533
+ time.sleep(self.consumer_params.retry_interval)
531
534
  if not (current_function_result_status._has_requeue and self.BROKER_KIND in [BrokerEnum.RABBITMQ_AMQPSTORM, BrokerEnum.RABBITMQ_PIKA, BrokerEnum.RABBITMQ_RABBITPY]): # 已经nack了,不能ack,否则rabbitmq delevar tag 报错
532
535
  self._confirm_consume(kw)
533
536
 
@@ -678,6 +681,9 @@ class AbstractConsumer(LoggerLevelSetterMixin, metaclass=abc.ABCMeta, ):
678
681
  )
679
682
  if current_function_result_status.success is True or current_retry_times == max_retry_times or current_function_result_status._has_requeue:
680
683
  break
684
+ else:
685
+ if self.consumer_params.retry_interval:
686
+ await asyncio.sleep(self.consumer_params.retry_interval)
681
687
 
682
688
  # self._result_persistence_helper.save_function_result_to_mongo(function_result_status)
683
689
  if not (current_function_result_status._has_requeue and self.BROKER_KIND in [BrokerEnum.RABBITMQ_AMQPSTORM, BrokerEnum.RABBITMQ_PIKA, BrokerEnum.RABBITMQ_RABBITPY]):
@@ -36,7 +36,7 @@ async def publish_msg(msg_item: MsgItem):
36
36
  try:
37
37
  booster = BoostersManager.get_or_create_booster_by_queue_name(msg_item.queue_name)
38
38
  if msg_item.need_result:
39
- if booster.boost_params['is_using_rpc_mode'] is False:
39
+ if booster.boost_params.is_using_rpc_mode is False:
40
40
  raise ValueError(f' need_result 为true,{booster.queue_name} 队列消费者 需要@boost设置支持rpc模式')
41
41
  async_result = booster.publish(msg_item.msg_body)
42
42
  status_and_result = await AioAsyncResult(async_result.task_id, timeout=msg_item.timeout).status_and_result
@@ -35,10 +35,9 @@ def _patch_for_pydantic_field_deepcopy():
35
35
  _patch_for_pydantic_field_deepcopy()
36
36
 
37
37
 
38
-
39
38
  class BaseJsonAbleModel(BaseModel):
40
39
  """
41
- 因为model字段包括了 函数对象,无法json序列化,需要自定义json序列化
40
+ 因为model字段包括了 函数和自定义类型的对象,无法直接json序列化,需要自定义json序列化
42
41
  """
43
42
 
44
43
  def get_str_dict(self):
@@ -132,6 +131,7 @@ class BoosterParams(BaseJsonAbleModel):
132
131
  主动抛出ExceptionForRequeue异常,则当前 消息会重返中间件,
133
132
  主动抛出 ExceptionForPushToDlxqueue 异常,可以使消息发送到单独的死信队列中,死信队列的名字是 队列名字 + _dlx。"""
134
133
  max_retry_times: int = 3
134
+ retry_interval: typing.Union[float, int] = 0 # 函数出错后间隔多少秒再重试.
135
135
  is_push_to_dlx_queue_when_retry_max_times: bool = False # 函数达到最大重试次数仍然没成功,是否发送到死信队列,死信队列的名字是 队列名字 + _dlx。
136
136
 
137
137
  consumin_function_decorator: typing.Callable = None # 函数的装饰器。因为此框架做参数自动转指点,需要获取精准的入参名称,不支持在消费函数上叠加 @ *args **kwargs的装饰器,如果想用装饰器可以这里指定。
@@ -5,7 +5,7 @@
5
5
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
7
  <title>pytho万能分布式函数调度框架</title>
8
- <link href="http://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
8
+ <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
9
9
  <link href="http://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
10
10
  <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap-datetimepicker/4.17.47/css/bootstrap-datetimepicker.min.css">
11
11
  <link rel="stylesheet" href="{{ url_for('static',filename='assets/css/jquery.mCustomScrollbar.min.css') }}">
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: funboost
3
- Version: 41.3
4
- Summary: pip install funboost,python全功能分布式函数调度框架,。支持python所有类型的并发模式和一切知名消息队列中间件,支持celery框架整体作为funboost中间件,python函数加速器,框架包罗万象,一统编程思维,兼容50% python业务场景,适用范围广。只需要一行代码即可分布式执行python一切函数,99%用过funboost的pythoner 感受是 方便 快速 强大,相见恨晚
3
+ Version: 41.5
4
+ Summary: pip install funboost,python全功能分布式函数调度框架,。支持python所有类型的并发模式和一切知名消息队列中间件,支持如 celery dramatiq等框架整体作为funboost中间件,python函数加速器,框架包罗万象,用户能想到的控制功能全都有。一统编程思维,兼容50% python业务场景,适用范围广。只需要一行代码即可分布式执行python一切函数,99%用过funboost的pythoner 感受是 简易 方便 强劲 强大,相见恨晚
5
5
  Home-page: https://github.com/ydf0509/funboost
6
6
  Author: bfzs
7
7
  Author-email: ydf0509@sohu.com
@@ -1,4 +1,4 @@
1
- funboost/__init__.py,sha256=aY_GRBFa5u9knGgqPKUCIkj9JZZydHRSlfcWXu5FcAE,3765
1
+ funboost/__init__.py,sha256=yVOtqy55-xKnZyfZ0XcFINEvV3YfeZ8-jEN0LA2f4aQ,3765
2
2
  funboost/__init__old.py,sha256=cSzw-ZQqtAAp5_-7eONXQT5fwz_JbZlRjDQPASDLUHk,20378
3
3
  funboost/__main__.py,sha256=-6Nogi666Y0LN8fVm3JmHGTOk8xEGWvotW_GDbSaZME,1065
4
4
  funboost/constant.py,sha256=VGwOZGP7U9Hq5--gPGT7mZFQ-a171gcxFYupJOMw7Y4,7162
@@ -33,7 +33,7 @@ funboost/concurrent_pool/backup/async_pool_executor0223.py,sha256=RVUZiylUvpTm6U
33
33
  funboost/concurrent_pool/backup/async_pool_executor_back.py,sha256=KL6zEQaa1KkZOlAO85mCC1gwLm-YC5Ghn21IUom0UKM,9598
34
34
  funboost/concurrent_pool/backup/async_pool_executor_janus.py,sha256=OHMWJ9l3EYTpPpcrPrGGKd4K0tmQ2PN8HiX0Dta0EOo,5728
35
35
  funboost/consumers/__init__.py,sha256=ZXY_6Kut1VYNQiF5aWEgIWobsW1ht9YUP0TdRZRWFqI,126
36
- funboost/consumers/base_consumer.py,sha256=xfL266U4jf7I3BASp2jFZcWfFt6kyeX4Gh8LOO9PNi4,72328
36
+ funboost/consumers/base_consumer.py,sha256=sgOAqsZtdwMv4TgORkPWr0AXSXZUkPbxNHT51_xUssw,72651
37
37
  funboost/consumers/celery_consumer.py,sha256=W25gbGyimf8KG5lLbtgar3Ix7F3O4cIRBLtRq8nJ0AE,9216
38
38
  funboost/consumers/confirm_mixin.py,sha256=eY6fNwx51Hn4bQSYRjyTRwOqfCGsikVnd2Ga_Ep31N4,6062
39
39
  funboost/consumers/dramatiq_consumer.py,sha256=ozmeAfeF0U-YNYHK4suQB0N264h5AZdfMH0O45Mh-8A,2229
@@ -74,7 +74,7 @@ funboost/consumers/txt_file_consumer.py,sha256=MlCv9INF6DkLgdU4NsNWynHq1Tgs10a2H
74
74
  funboost/consumers/udp_consumer.py,sha256=J-G1ZYktXZ_er_1fg3FdSPVl4V_eEIHZXlBadCNpJmE,1643
75
75
  funboost/consumers/zeromq_consumer.py,sha256=mRU1eC1OhhPnW6L9cQIztKcDg6bfVttsGRE-plC0AqE,4232
76
76
  funboost/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
- funboost/contrib/api_publish_msg.py,sha256=vaLudhRAoSzEG0ZjNtkjhtbV9M3K9SN6zjhEtMQTdOA,2451
77
+ funboost/contrib/api_publish_msg.py,sha256=bRbKXw4X1CSkBLFNtRREoivrelhQiEnCynxJHywSa4I,2448
78
78
  funboost/contrib/queue2queue.py,sha256=YlYY6AioaSQ_DlhsktF1gIzYAEpa6nWiILOA0yrQvXw,4906
79
79
  funboost/contrib/redis_consume_latest_msg_broker.py,sha256=ESortBZ2qu_4PBCa3e3FeL2k_PClZNb74_v55HV-BOg,1902
80
80
  funboost/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -82,7 +82,7 @@ funboost/core/active_cousumer_info_getter.py,sha256=09fEc-BTEIRfDDfHmOvKnMjLjtOy
82
82
  funboost/core/booster.py,sha256=_s-PRIYaMCZo7sO7vkR1Ijt_BymsIeuZcyQuFafaytI,13238
83
83
  funboost/core/exceptions.py,sha256=oXOEBBCoU8jJv1uyWrcItnGi778Hrx2c_tA5KAbRGy8,1201
84
84
  funboost/core/fabric_deploy_helper.py,sha256=KPjifNy1G1tDOT2eaR0X8hegot0HUk5vF-P1DnhxME4,8941
85
- funboost/core/func_params_model.py,sha256=JNy_-4WZsrx3R9H7TJLsEcFnTQyQ4An9Xm0HIqpQ8zo,17234
85
+ funboost/core/func_params_model.py,sha256=YOVGLWTPG8rT20bREmzN-kPX4GKnZJ9ftfu_aIVgnAA,17353
86
86
  funboost/core/function_result_status_config.py,sha256=PyjqAQOiwsLt28sRtH-eYRjiI3edPFO4Nde0ILFRReE,1764
87
87
  funboost/core/function_result_status_saver.py,sha256=wjDuRZAtZ92Gt3sIiBN6SDkj-NiNoMfPeEnomga_DPQ,8968
88
88
  funboost/core/helper_funs.py,sha256=SKSMKytJTOFQJsuMKWJ-_mQg6e_Bgpq1ANDzjjBAcio,1192
@@ -114,7 +114,7 @@ funboost/function_result_web/static/images/password.png,sha256=0jRivuQAhWKtkS73p
114
114
  funboost/function_result_web/static/images/tick.png,sha256=S9dZYN4HQzw7JsWPw3ut1dQp4OTJ_Uh2Qp2KUDF1Jv8,2912
115
115
  funboost/function_result_web/static/images/user.png,sha256=HxLjNc83WZzZEscZRdmVhGKlPXNdp_EKmmYxafuyb3g,622
116
116
  funboost/function_result_web/static/js/jquery-1.11.0.min.js,sha256=ryQZ3RXgnqkTz-lNEw-YcEhnMuV3ZODwLqOEbyBBRu4,96383
117
- funboost/function_result_web/templates/index.html,sha256=dWe-JFQhsDpoNjSsBF4P6SJWp_KvHX8EP_yECS5r7_o,19501
117
+ funboost/function_result_web/templates/index.html,sha256=ubxUxouCOHHCZbeSnRdQ2auKhQ49eR--9NJ922eVRH8,19520
118
118
  funboost/function_result_web/templates/login.html,sha256=q37dj7O0LeyiV38Zd5P1Qn_qmhjdFomuYTRY1Yk48Bo,2007
119
119
  funboost/publishers/__init__.py,sha256=xqBHlvsJQVPfbdvP84G0LHmVB7-pFBS7vDnX1Uo9pVY,131
120
120
  funboost/publishers/base_publisher.py,sha256=xybzmZ9YEA_YTzmJld0HihuvbYZpy0zHO9rkb4vaToM,14514
@@ -259,9 +259,9 @@ funboost/utils/pysnooper_ydf/utils.py,sha256=evSmGi_Oul7vSP47AJ0DLjFwoCYCfunJZ1m
259
259
  funboost/utils/pysnooper_ydf/variables.py,sha256=QejRDESBA06KG9OH4sBT4J1M55eaU29EIHg8K_igaXo,3693
260
260
  funboost/utils/times/__init__.py,sha256=Y4bQD3SIA_E7W2YvHq2Qdi0dGM4H2DxyFNdDOuFOq1w,2417
261
261
  funboost/utils/times/version.py,sha256=11XfnZVVzOgIhXXdeN_mYfdXThfrsbQHpA0wCjz-hpg,17
262
- funboost-41.3.dist-info/LICENSE,sha256=9EPP2ktG_lAPB8PjmWV-c9BiaJHc_FP6pPLcUrUwx0E,11562
263
- funboost-41.3.dist-info/METADATA,sha256=7wOUtgW_p8oKFuntsaqxdR0DfOGir21ITEiihbKxPc0,30417
264
- funboost-41.3.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
265
- funboost-41.3.dist-info/entry_points.txt,sha256=yMSSAGRzRAAhGyNNQHw24MooKlDZsaJ499_D6fPl58A,96
266
- funboost-41.3.dist-info/top_level.txt,sha256=K8WuKnS6MRcEWxP1NvbmCeujJq6TEfbsB150YROlRw0,9
267
- funboost-41.3.dist-info/RECORD,,
262
+ funboost-41.5.dist-info/LICENSE,sha256=9EPP2ktG_lAPB8PjmWV-c9BiaJHc_FP6pPLcUrUwx0E,11562
263
+ funboost-41.5.dist-info/METADATA,sha256=0MFQj4W2kZz7oAvhI-1S0gXOdPeK8-cGQouXKjq80r8,30484
264
+ funboost-41.5.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
265
+ funboost-41.5.dist-info/entry_points.txt,sha256=yMSSAGRzRAAhGyNNQHw24MooKlDZsaJ499_D6fPl58A,96
266
+ funboost-41.5.dist-info/top_level.txt,sha256=K8WuKnS6MRcEWxP1NvbmCeujJq6TEfbsB150YROlRw0,9
267
+ funboost-41.5.dist-info/RECORD,,