funboost 46.3__py3-none-any.whl → 46.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 CHANGED
@@ -13,7 +13,7 @@ set_frame_config这个模块的 use_config_form_funboost_config_module() 是核
13
13
  这段注释说明和使用的用户无关,只和框架开发人员有关.
14
14
  '''
15
15
 
16
- __version__ = "46.3"
16
+ __version__ = "46.4"
17
17
 
18
18
  from funboost.set_frame_config import show_frame_config
19
19
 
@@ -12,6 +12,7 @@ import sys
12
12
  import typing
13
13
  import abc
14
14
  import copy
15
+ from apscheduler.jobstores.memory import MemoryJobStore
15
16
  from pathlib import Path
16
17
  # from multiprocessing import Process
17
18
  import datetime
@@ -367,16 +368,25 @@ class AbstractConsumer(LoggerLevelSetterMixin, metaclass=abc.ABCMeta, ):
367
368
 
368
369
  def _start_delay_task_scheduler(self):
369
370
  from funboost.timing_job import FsdfBackgroundScheduler
370
- jobstores = {
371
- "default": RedisJobStore(**redis_manager.get_redis_conn_kwargs(),
372
- jobs_key=f'funboost.apscheduler.{self.queue_name}.jobs')
373
- }
371
+ # print(self.consumer_params.delay_task_apsscheduler_jobstores_kind )
372
+ if self.consumer_params.delay_task_apsscheduler_jobstores_kind == 'redis':
373
+ jobstores = {
374
+ "default": RedisJobStore(**redis_manager.get_redis_conn_kwargs(),
375
+ jobs_key=f'funboost.apscheduler.{self.queue_name}.jobs',
376
+ run_times_key=f'funboost.apscheduler.{self.queue_name}.run_times',
377
+ )
378
+ }
379
+ elif self.consumer_params.delay_task_apsscheduler_jobstores_kind == 'memory':
380
+ jobstores = {"default": MemoryJobStore()}
381
+ else:
382
+ raise Exception(f'delay_task_apsscheduler_jobstores_kind is error: {self.consumer_params.delay_task_apsscheduler_jobstores_kind}')
374
383
  self._delay_task_scheduler = FsdfBackgroundScheduler(timezone=FunboostCommonConfig.TIMEZONE, daemon=False,
375
384
  jobstores=jobstores # push 方法的序列化带thredignn.lock
376
385
  )
377
386
  self._delay_task_scheduler.add_executor(ApschedulerThreadPoolExecutor(2)) # 只是运行submit任务到并发池,不需要很多线程。
378
387
  # self._delay_task_scheduler.add_listener(self._apscheduler_job_miss, EVENT_JOB_MISSED)
379
388
  self._delay_task_scheduler.start()
389
+
380
390
  self.logger.warning('启动延时任务sheduler')
381
391
 
382
392
  logger_apscheduler = get_logger('push_for_apscheduler_use_database_store', log_filename='push_for_apscheduler_use_database_store.log')
@@ -1150,7 +1160,6 @@ class DistributedConsumerStatistics(RedisMixin, FunboostFileLoggerMixin):
1150
1160
  if HEARBEAT_EXPIRE_SECOND < SEND_HEARTBEAT_INTERVAL * 2:
1151
1161
  raise ValueError(f'HEARBEAT_EXPIRE_SECOND:{HEARBEAT_EXPIRE_SECOND} , SEND_HEARTBEAT_INTERVAL:{SEND_HEARTBEAT_INTERVAL} ')
1152
1162
 
1153
-
1154
1163
  def __init__(self, consumer: AbstractConsumer):
1155
1164
  # self._consumer_identification = consumer_identification
1156
1165
  # self._consumer_identification_map = consumer_identification_map
@@ -1204,7 +1213,6 @@ class DistributedConsumerStatistics(RedisMixin, FunboostFileLoggerMixin):
1204
1213
  self._show_active_consumer_num()
1205
1214
  self._get_stop_and_pause_flag_from_redis()
1206
1215
 
1207
-
1208
1216
  def _show_active_consumer_num(self):
1209
1217
  self.active_consumer_num = self.redis_db_frame.scard(self._redis_key_name) or 1
1210
1218
  if time.time() - self._last_show_consumer_num_timestamp > self.SHOW_CONSUMER_NUM_INTERVAL:
@@ -112,6 +112,9 @@ class FunctionResultStatusPersistanceConfig(BaseJsonAbleModel):
112
112
  return values
113
113
 
114
114
 
115
+
116
+
117
+
115
118
  class BoosterParams(BaseJsonAbleModel):
116
119
  """
117
120
  pydatinc pycharm编程代码补全,请安装 pydantic插件, 在pycharm的 file -> settings -> Plugins -> 输入 pydantic 搜索,点击安装 pydantic 插件.
@@ -171,6 +174,8 @@ class BoosterParams(BaseJsonAbleModel):
171
174
  is_using_rpc_mode: bool = False # 是否使用rpc模式,可以在发布端获取消费端的结果回调,但消耗一定性能,使用async_result.result时候会等待阻塞住当前线程。
172
175
  rpc_result_expire_seconds: int = 600 # 保存rpc结果的过期时间.
173
176
 
177
+ delay_task_apsscheduler_jobstores_kind :typing.Literal[ 'redis', 'memory'] = 'redis' # 延时任务的aspcheduler对象使用哪种jobstores ,可以为 redis memory 两种作为jobstore
178
+
174
179
  is_support_remote_kill_task: bool = False # 是否支持远程任务杀死功能,如果任务数量少,单个任务耗时长,确实需要远程发送命令来杀死正在运行的函数,才设置为true,否则不建议开启此功能。(是把函数放在单独的线程中实现的,随时准备线程被远程命令杀死,所以性能会降低)
175
180
 
176
181
  is_do_not_run_by_specify_time_effect: bool = False # 是否使不运行的时间段生效
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: funboost
3
- Version: 46.3
3
+ Version: 46.4
4
4
  Summary: pip install funboost,python全功能分布式函数调度框架,funboost的功能是全面性重量级,用户能想得到的功能99%全都有;funboost的使用方式是轻量级,只有@boost一行代码需要写。支持python所有类型的并发模式和一切知名消息队列中间件,支持如 celery dramatiq等框架整体作为funboost中间件,python函数加速器,框架包罗万象,用户能想到的控制功能全都有。一统编程思维,兼容50% python业务场景,适用范围广。只需要一行代码即可分布式执行python一切函数,99%用过funboost的pythoner 感受是 简易 方便 强劲 强大,相见恨晚
5
5
  Home-page: https://github.com/ydf0509/funboost
6
6
  Author: bfzs
@@ -1,4 +1,4 @@
1
- funboost/__init__.py,sha256=JwRapB1AVUtlSqb_nGAO3ImAvZyuDwt0dtNsEZcqqy8,3956
1
+ funboost/__init__.py,sha256=BtQKhR8hpJRZ880RtqpBRk2MX4kaXQrs1b-T2k3SZvA,3956
2
2
  funboost/__init__old.py,sha256=9Kv3cPLnPkbzMRnuJFVkPsuDdx1CdcSIuITkpdncZSc,20382
3
3
  funboost/__main__.py,sha256=-6Nogi666Y0LN8fVm3JmHGTOk8xEGWvotW_GDbSaZME,1065
4
4
  funboost/constant.py,sha256=STzRDZbuCC5FFV-uD_0r2beGsD1Zni4kregzR11z3Ok,8148
@@ -35,7 +35,7 @@ funboost/concurrent_pool/backup/async_pool_executor0223.py,sha256=RVUZiylUvpTm6U
35
35
  funboost/concurrent_pool/backup/async_pool_executor_back.py,sha256=KL6zEQaa1KkZOlAO85mCC1gwLm-YC5Ghn21IUom0UKM,9598
36
36
  funboost/concurrent_pool/backup/async_pool_executor_janus.py,sha256=OHMWJ9l3EYTpPpcrPrGGKd4K0tmQ2PN8HiX0Dta0EOo,5728
37
37
  funboost/consumers/__init__.py,sha256=ZXY_6Kut1VYNQiF5aWEgIWobsW1ht9YUP0TdRZRWFqI,126
38
- funboost/consumers/base_consumer.py,sha256=76JAVpiKxPFUFK3-hGG7OEVGi1VWZs14ncTCH9gr6po,80889
38
+ funboost/consumers/base_consumer.py,sha256=s8fakDi0P0aAHLB28az5P458CUGJdyDCeKmXUKh9uJ0,81602
39
39
  funboost/consumers/celery_consumer.py,sha256=nQpSkzPBJ4bRpxn4i9ms0axrJiq9RWhb4lG2nAdCIig,9254
40
40
  funboost/consumers/confirm_mixin.py,sha256=5xC9AAQr_MY4tbSed8U-M6tOVmh69Qv9X0ld0JLT9Tk,6185
41
41
  funboost/consumers/dramatiq_consumer.py,sha256=ozmeAfeF0U-YNYHK4suQB0N264h5AZdfMH0O45Mh-8A,2229
@@ -92,7 +92,7 @@ funboost/core/exceptions.py,sha256=pLF7BkRJAfDiWp2_xGZqencmwdPiSQI1NENbImExknY,1
92
92
  funboost/core/fabric_deploy_helper.py,sha256=foieeqlNySuU9axJzNF6TavPjIUSYBx9UO3syVKUiyY,9999
93
93
  funboost/core/funboost_config_getter.py,sha256=b5nAdAmUxahskY-ohB7ptf2gKywFlDA0Fq1cWroxxbs,384
94
94
  funboost/core/funboost_time.py,sha256=IbB4dFCpg3oGUe90ssAJ_x0eDPtAVfvsUr4esdoKaOk,1777
95
- funboost/core/func_params_model.py,sha256=qY43_9GkwGy-ibOKZtB4duxDCtbzAvScFNBoFu1CiD0,21333
95
+ funboost/core/func_params_model.py,sha256=l_uFLlb5vaL5YeZ960kDOxNRlBTF1i3g9aGncUAz7Ho,21535
96
96
  funboost/core/function_result_status_config.py,sha256=PyjqAQOiwsLt28sRtH-eYRjiI3edPFO4Nde0ILFRReE,1764
97
97
  funboost/core/function_result_status_saver.py,sha256=yHKZF9MjmhI-Q4Mkrka7DdweJ0wpgfLmgfAlsfkCeCk,9274
98
98
  funboost/core/helper_funs.py,sha256=SsMa7A3iJyLek6v1qRK02kINebDp6kuAmlYkrYLXwQ0,2369
@@ -277,9 +277,9 @@ funboost/utils/pysnooper_ydf/utils.py,sha256=evSmGi_Oul7vSP47AJ0DLjFwoCYCfunJZ1m
277
277
  funboost/utils/pysnooper_ydf/variables.py,sha256=QejRDESBA06KG9OH4sBT4J1M55eaU29EIHg8K_igaXo,3693
278
278
  funboost/utils/times/__init__.py,sha256=Y4bQD3SIA_E7W2YvHq2Qdi0dGM4H2DxyFNdDOuFOq1w,2417
279
279
  funboost/utils/times/version.py,sha256=11XfnZVVzOgIhXXdeN_mYfdXThfrsbQHpA0wCjz-hpg,17
280
- funboost-46.3.dist-info/LICENSE,sha256=9EPP2ktG_lAPB8PjmWV-c9BiaJHc_FP6pPLcUrUwx0E,11562
281
- funboost-46.3.dist-info/METADATA,sha256=Qf9UE9xpqHL3-4p_v8ngZI5prUtxgpddBqPa6Rxi6Ec,32849
282
- funboost-46.3.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
283
- funboost-46.3.dist-info/entry_points.txt,sha256=BQMqRALuw-QT9x2d7puWaUHriXfy3wIzvfzF61AnSSI,97
284
- funboost-46.3.dist-info/top_level.txt,sha256=K8WuKnS6MRcEWxP1NvbmCeujJq6TEfbsB150YROlRw0,9
285
- funboost-46.3.dist-info/RECORD,,
280
+ funboost-46.4.dist-info/LICENSE,sha256=9EPP2ktG_lAPB8PjmWV-c9BiaJHc_FP6pPLcUrUwx0E,11562
281
+ funboost-46.4.dist-info/METADATA,sha256=aQGmvai1MzGC41CxyNIQHIXWHbiY1YhIeIZoAAEIOrY,32849
282
+ funboost-46.4.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
283
+ funboost-46.4.dist-info/entry_points.txt,sha256=BQMqRALuw-QT9x2d7puWaUHriXfy3wIzvfzF61AnSSI,97
284
+ funboost-46.4.dist-info/top_level.txt,sha256=K8WuKnS6MRcEWxP1NvbmCeujJq6TEfbsB150YROlRw0,9
285
+ funboost-46.4.dist-info/RECORD,,