MeUtils 2024.11.28.18.37.5__py3-none-any.whl → 2024.11.28.19.0.49__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MeUtils
3
- Version: 2024.11.28.18.37.5
3
+ Version: 2024.11.28.19.0.49
4
4
  Summary: description
5
5
  Home-page: https://github.com/yuanjie-ai/MeUtils
6
6
  Author: yuanjie
@@ -61,42 +61,42 @@ Requires-Dist: sse-starlette ; extra == 'ai'
61
61
  Requires-Dist: openai ; extra == 'ai'
62
62
  Requires-Dist: langchain ; extra == 'ai'
63
63
  Provides-Extra: all
64
- Requires-Dist: geopy ; extra == 'all'
65
- Requires-Dist: streamlit ; extra == 'all'
66
- Requires-Dist: fastapi[all] ; extra == 'all'
67
- Requires-Dist: pretty-errors ; extra == 'all'
68
- Requires-Dist: pymysql ; extra == 'all'
69
- Requires-Dist: thriftpy2 ; extra == 'all'
70
- Requires-Dist: reportlab ; extra == 'all'
71
- Requires-Dist: simplejson ; extra == 'all'
72
- Requires-Dist: fastapi ; extra == 'all'
73
- Requires-Dist: dataframe-image ; extra == 'all'
74
- Requires-Dist: pymongo ; extra == 'all'
75
- Requires-Dist: schedule ; extra == 'all'
76
- Requires-Dist: faiss-cpu ; extra == 'all'
77
- Requires-Dist: pandas-summary ; extra == 'all'
78
- Requires-Dist: uvicorn ; extra == 'all'
79
- Requires-Dist: filetype ; extra == 'all'
80
- Requires-Dist: thefuck ; extra == 'all'
81
64
  Requires-Dist: missingno ; extra == 'all'
82
- Requires-Dist: openai ; extra == 'all'
83
- Requires-Dist: jmespath ; extra == 'all'
84
65
  Requires-Dist: pymilvus ; extra == 'all'
66
+ Requires-Dist: pymysql ; extra == 'all'
85
67
  Requires-Dist: langchain ; extra == 'all'
86
- Requires-Dist: jinja2 ; extra == 'all'
87
- Requires-Dist: sqlalchemy ; extra == 'all'
88
- Requires-Dist: jieba ; extra == 'all'
89
- Requires-Dist: seaborn ; extra == 'all'
90
- Requires-Dist: polars ; extra == 'all'
91
- Requires-Dist: pyarrow ; extra == 'all'
92
- Requires-Dist: iteration-utilities ; extra == 'all'
68
+ Requires-Dist: simplejson ; extra == 'all'
93
69
  Requires-Dist: redis-py-cluster ; extra == 'all'
94
70
  Requires-Dist: gunicorn ; extra == 'all'
71
+ Requires-Dist: pretty-errors ; extra == 'all'
72
+ Requires-Dist: iteration-utilities ; extra == 'all'
73
+ Requires-Dist: jieba ; extra == 'all'
74
+ Requires-Dist: thriftpy2 ; extra == 'all'
75
+ Requires-Dist: jmespath ; extra == 'all'
76
+ Requires-Dist: sse-starlette ; extra == 'all'
77
+ Requires-Dist: dataframe-image ; extra == 'all'
78
+ Requires-Dist: fastapi[all] ; extra == 'all'
79
+ Requires-Dist: jinja2 ; extra == 'all'
80
+ Requires-Dist: openai ; extra == 'all'
81
+ Requires-Dist: schedule ; extra == 'all'
82
+ Requires-Dist: seaborn ; extra == 'all'
83
+ Requires-Dist: pymongo ; extra == 'all'
84
+ Requires-Dist: fastapi ; extra == 'all'
85
+ Requires-Dist: thefuck ; extra == 'all'
95
86
  Requires-Dist: pandas-profiling[notebook] ; extra == 'all'
87
+ Requires-Dist: geopy ; extra == 'all'
88
+ Requires-Dist: filetype ; extra == 'all'
89
+ Requires-Dist: streamlit ; extra == 'all'
90
+ Requires-Dist: uvicorn ; extra == 'all'
91
+ Requires-Dist: cachetools ; extra == 'all'
92
+ Requires-Dist: polars ; extra == 'all'
93
+ Requires-Dist: reportlab ; extra == 'all'
96
94
  Requires-Dist: asyncmy ; extra == 'all'
95
+ Requires-Dist: pandas-summary ; extra == 'all'
96
+ Requires-Dist: faiss-cpu ; extra == 'all'
97
+ Requires-Dist: pyarrow ; extra == 'all'
97
98
  Requires-Dist: pymupd ; extra == 'all'
98
- Requires-Dist: cachetools ; extra == 'all'
99
- Requires-Dist: sse-starlette ; extra == 'all'
99
+ Requires-Dist: sqlalchemy ; extra == 'all'
100
100
  Provides-Extra: ann
101
101
  Requires-Dist: pymilvus ; extra == 'ann'
102
102
  Requires-Dist: faiss-cpu ; extra == 'ann'
@@ -416,14 +416,14 @@ meutils/apis/voice_clone/__init__.py,sha256=y7Rpn90LocHhA0ywrDP_fT4QAK7sr4JsIX5w
416
416
  meutils/apis/voice_clone/fish.py,sha256=6m8zcS2KEqmalKy2ArnOaNovyxsQp_sw4d_O1kVZR2s,7146
417
417
  meutils/apis/voice_clone/fish_api.py,sha256=pDpE-B8HFiGIOV3NVd1HmFrCC2GQc3wH-81oNbTS0mY,307
418
418
  meutils/async_task/__init__.py,sha256=QpkvoT6u-IBAlVgIevDkvEe_kVfW96UkS7i3NQHG63Y,303
419
- meutils/async_task/celery_config.py,sha256=1Z1r96Dr8u-FKMN_5ayJMaMFtXHvJ2IAwStABYy3hAM,2867
419
+ meutils/async_task/celery_config.py,sha256=T1TaH93LmGoBDrBB-5lrLHJ1e_jkAx-MXON70Q2s9VM,2892
420
420
  meutils/async_task/common.py,sha256=TY-YdhFKgHMbSAz16OCHcpHJFDTtgc4AWRkMUa3Lcpc,1217
421
- meutils/async_task/demo_create_tasks.py,sha256=mW-WiMIW8aVWqC-AezEYdS_hVFXX2MiRgkMAGTOOvkk,1261
421
+ meutils/async_task/demo_create_tasks.py,sha256=y8A2rViFZe3rvrEJyw6DYkExoa4wndP_Fq-XEJNJ894,1263
422
422
  meutils/async_task/通用设计.py,sha256=kGdrJHJu9VoOkyGHREn0KUtBTibAaLIcG0O6hEJNhLA,3232
423
423
  meutils/async_task/tasks/__init__.py,sha256=2ilRdLq7JNpFU_xFc54r5JGOuNhx5r-zoyXqxC4WWIg,244
424
424
  meutils/async_task/tasks/_all.py,sha256=Vz63k9yvgj-IBGjekm0u2t571TTT0nMRMqcPvPqJAbY,533
425
425
  meutils/async_task/tasks/kling.py,sha256=Z2Z0orhh3VFUkvfTr66lO4fw9hLoxoVBv3Vz6gxEU-8,516
426
- meutils/async_task/tasks/test.py,sha256=vl0Rbww94puURt2Kz9IUYhkTnHxh-O5bAt3HAnDMsUQ,891
426
+ meutils/async_task/tasks/test.py,sha256=oEaS0xJwJwHE0Fce71I89p0Aa5P0iWbd-EtLorJsemE,925
427
427
  meutils/async_task/tasks/vidu.py,sha256=obBG4_bf1oPIlLxeca1s1dGOnlyam2xYRy-8TrH3ZTk,620
428
428
  meutils/async_utils/__init__.py,sha256=IiJLRm258jkM4xAjUKOD7tVwHIemj7_1CuzXCu3TuQU,284
429
429
  meutils/async_utils/background.py,sha256=dl6UaMIFBZDB1uxSZzGFJdSnpt3Xo0flK7gwsokVy78,1464
@@ -457,7 +457,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
457
457
  meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
458
458
  meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
459
459
  meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
460
- meutils/data/VERSION,sha256=-02Cc5xRJN1z9rUvLSppFUExAt0nfpUx0icKHIlLMhw,19
460
+ meutils/data/VERSION,sha256=jFSGFzT2KvzeEqyvtL4o3E7VdXK782EDJk9XMaj7gec,19
461
461
  meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
462
462
  meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
463
463
  meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
@@ -676,7 +676,7 @@ meutils/serving/celery/__init__.py,sha256=sYFX-Pyejsv-H4v3uZ4VTpFblljl9sMsGxj0-D
676
676
  meutils/serving/celery/_conf.py,sha256=VbWeUy1pH4h-DL1o3kys_y8fj6vvUgd3e1xC1_bMqVw,2109
677
677
  meutils/serving/celery/_demo.py,sha256=qKc74PT4Z5t6eyQVKNc7MjDqSsx1fbQAqs8GLJOiDF8,514
678
678
  meutils/serving/celery/_run_fastapi.py,sha256=s6bx4o7bzRomSHhCppKTLydBacqsI3hG3BwUKFZvKnY,415
679
- meutils/serving/celery/config.py,sha256=remJwCTf8PHDtVS54Ar26e7Q1Cva5pj8ANfPom2ZM9g,3689
679
+ meutils/serving/celery/config.py,sha256=Q92n3gkVL0zo74cSZ1U7PMDRkoAJ6kuPBbWZ3kgm_LE,3680
680
680
  meutils/serving/celery/router.py,sha256=6MTC7MsiaTFh9Qocus9MtP0fIU6uEDFgzV5v8uw7tO0,1104
681
681
  meutils/serving/celery/tasks.py,sha256=07QE9MYzaANDlg6crx6apuR6wfmNuryUKt76J8pEPIc,1526
682
682
  meutils/serving/celery/通用设计.py,sha256=kGdrJHJu9VoOkyGHREn0KUtBTibAaLIcG0O6hEJNhLA,3232
@@ -790,9 +790,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
790
790
  meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
791
791
  meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
792
792
  meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
793
- MeUtils-2024.11.28.18.37.5.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
794
- MeUtils-2024.11.28.18.37.5.dist-info/METADATA,sha256=s7V7OOLH_Ntl_02jPu90z-gbOevW-0q5tulHyMM8ANw,6143
795
- MeUtils-2024.11.28.18.37.5.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
796
- MeUtils-2024.11.28.18.37.5.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
797
- MeUtils-2024.11.28.18.37.5.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
798
- MeUtils-2024.11.28.18.37.5.dist-info/RECORD,,
793
+ MeUtils-2024.11.28.19.0.49.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
794
+ MeUtils-2024.11.28.19.0.49.dist-info/METADATA,sha256=4IlkvZCz2H53-KGYw6CJ5QImJG_YAWWaDu2AudrRYmo,6143
795
+ MeUtils-2024.11.28.19.0.49.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
796
+ MeUtils-2024.11.28.19.0.49.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
797
+ MeUtils-2024.11.28.19.0.49.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
798
+ MeUtils-2024.11.28.19.0.49.dist-info/RECORD,,
@@ -27,16 +27,12 @@ task_serializer = 'json'
27
27
  result_serializer = 'json'
28
28
  accept_content = ['json']
29
29
 
30
- # 任务执行设置
31
- task_soft_time_limit = 10 * 60 # 任务软超时时间(秒)
32
- task_time_limit = 6 * task_soft_time_limit # 任务硬超时时间(秒)
33
-
34
- worker_max_tasks_per_child = 256 # 每个worker执行多少个任务后自动重启
35
- worker_prefetch_multiplier = 4 # 预取任务数
36
-
37
30
  # 并发配置
38
31
  worker_pool = 'gevent' # 工作进程池类型,可选:'prefork'、'eventlet'、'gevent'
39
- worker_concurrency = 4 # worker并发数,一般设置为CPU核心数
32
+ worker_pool_restarts = True
33
+ worker_concurrency = 8 # worker并发数,一般设置为CPU核心数
34
+ worker_prefetch_multiplier = 4 # 预取任务数
35
+ worker_max_tasks_per_child = 256 # 每个worker执行多少个任务后自动重启
40
36
 
41
37
  # 任务队列配置
42
38
  task_default_queue = 'default' # 默认队列
@@ -46,6 +42,10 @@ task_queues = (
46
42
  Queue('low_priority', Exchange('low_priority'), routing_key='low_priority'),
47
43
  )
48
44
 
45
+ # 任务执行设置
46
+ task_soft_time_limit = 10 * 60 # 任务软超时时间(秒)
47
+ task_time_limit = 6 * task_soft_time_limit # 任务硬超时时间(秒)
48
+
49
49
  # 任务重试配置
50
50
  task_publish_retry = True # 发布任务失败时重试
51
51
  task_publish_retry_policy = {
@@ -74,16 +74,13 @@ worker_log_format = '[%(asctime)s: %(levelname)s/%(processName)s] %(message)s'
74
74
  worker_task_log_format = '[%(asctime)s: %(levelname)s/%(processName)s] [%(task_name)s(%(task_id)s)] %(message)s'
75
75
 
76
76
  # 性能优化
77
- worker_disable_rate_limits = True # 禁用任务频率限制
78
77
  task_acks_late = True # 任务执行完成后再确认
79
78
  task_reject_on_worker_lost = True # worker异常关闭时任务会被重新分配
80
-
79
+ worker_disable_rate_limits = True # 禁用任务频率限制
81
80
 
82
81
  # 结果后端配置
83
82
  result_expires = 30 * 24 * 3600 # 结果过期时间(秒)
84
83
  result_persistent = True # 结果持久化存储
85
84
 
86
-
87
-
88
85
  # 任务执行配置
89
- # task_always_eager = False # 是否立即执行任务(调试用)
86
+ # task_always_eager = False # 是否立即执行任务(调试用)
@@ -15,7 +15,7 @@ from meutils.async_task.tasks import test
15
15
  from celery.result import AsyncResult
16
16
 
17
17
 
18
- print(worker.conf)
18
+ # print(worker.conf)
19
19
 
20
20
  # @shared_task(
21
21
  # autoretry_for=(Exception,), # 自动重试的异常类型
@@ -15,8 +15,10 @@ from meutils.async_task import worker, shared_task
15
15
 
16
16
 
17
17
  @shared_task
18
- def do_sync_task(**kwargs):
18
+ def do_sync_task(sleep=10, **kwargs):
19
19
  logger.debug("同步任务")
20
+ time.sleep(sleep)
21
+
20
22
  return kwargs
21
23
 
22
24
 
@@ -40,4 +42,4 @@ def proxy_task(**kwargs):
40
42
 
41
43
 
42
44
  if __name__ == '__main__':
43
- print(do_sync_task.apply_async(kwargs={'a': 1, 'b': 2}))
45
+ print(do_sync_task.apply_async(kwargs={'a': 1, 'b': 2}))
meutils/data/VERSION CHANGED
@@ -1 +1 @@
1
- 2024.11.28.18.37.05
1
+ 2024.11.28.19.00.49
@@ -11,7 +11,7 @@
11
11
  from meutils.pipe import *
12
12
  from datetime import timedelta
13
13
 
14
- from celery import Celery, Task, shared_task
14
+ from celery import Task, shared_task
15
15
  from kombu import Exchange, Queue
16
16
  from tenacity import retry, stop_after_attempt, wait_exponential
17
17
 
@@ -47,11 +47,10 @@ accept_content = ['json']
47
47
  task_soft_time_limit = 10 * 60 # 任务软超时时间(秒)
48
48
  task_time_limit = 6 * task_soft_time_limit # 任务硬超时时间(秒)
49
49
 
50
- worker_max_tasks_per_child = 256 # 每个worker执行多少个任务后自动重启
51
- worker_prefetch_multiplier = 4 # 预取任务数
52
-
53
50
  # 并发配置
54
- worker_concurrency = 4 # worker并发数,一般设置为CPU核心数
51
+ worker_concurrency = 8 # worker并发数,一般设置为CPU核心数
52
+ worker_prefetch_multiplier = 4 # 预取任务数
53
+ worker_max_tasks_per_child = 256 # 每个worker执行多少个任务后自动重启
55
54
 
56
55
  # 任务队列配置
57
56
  task_default_queue = 'default' # 默认队列