arpakitlib 1.6.54__tar.gz → 1.6.55__tar.gz

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.
Files changed (66) hide show
  1. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/PKG-INFO +2 -1
  2. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_util.py +22 -15
  3. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/pyproject.toml +2 -1
  4. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/LICENSE +0 -0
  5. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/NOTICE +0 -0
  6. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/README.md +0 -0
  7. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/__init__.py +0 -0
  8. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_additional_model_util.py +0 -0
  9. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_aiogram_util.py +0 -0
  10. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_arpakit_lib_module_util.py +0 -0
  11. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_arpakit_schedule_uust_api_client_util.py +0 -0
  12. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_arpakitlib_info.py +0 -0
  13. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_base64_util.py +0 -0
  14. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_base_worker_util.py +0 -0
  15. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_cache_file_util.py +0 -0
  16. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_datetime_util.py +0 -0
  17. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_dict_util.py +0 -0
  18. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_dream_ai_api_client_util.py +0 -0
  19. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_encrypt_decrypt_util.py +0 -0
  20. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_enumeration_util.py +0 -0
  21. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/redoc/redoc.standalone.js +0 -0
  22. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/favicon-16x16.png +0 -0
  23. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/favicon-32x32.png +0 -0
  24. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/index.css +0 -0
  25. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/index.html +0 -0
  26. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/oauth2-redirect.html +0 -0
  27. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-initializer.js +0 -0
  28. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-bundle.js +0 -0
  29. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-bundle.js.map +0 -0
  30. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle-core.js +0 -0
  31. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle-core.js.map +0 -0
  32. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle.js +0 -0
  33. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle.js.map +0 -0
  34. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-standalone-preset.js +0 -0
  35. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-standalone-preset.js.map +0 -0
  36. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css +0 -0
  37. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css.map +0 -0
  38. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js +0 -0
  39. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js.map +0 -0
  40. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_file_storage_in_dir_util.py +0 -0
  41. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_hash_util.py +0 -0
  42. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_http_request_util.py +0 -0
  43. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_ip_util.py +0 -0
  44. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_json_db_util.py +0 -0
  45. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_json_util.py +0 -0
  46. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_jwt_util.py +0 -0
  47. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_list_of_dicts_to_xlsx.py +0 -0
  48. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_list_util.py +0 -0
  49. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_logging_util.py +0 -0
  50. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_mongodb_util.py +0 -0
  51. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_need_type_util.py +0 -0
  52. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_openai_util.py +0 -0
  53. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_operation_execution_util.py +0 -0
  54. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_parse_command.py +0 -0
  55. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_postgresql_util.py +0 -0
  56. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_run_cmd_util.py +0 -0
  57. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_schedule_uust_api_client_util.py +0 -0
  58. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_settings_util.py +0 -0
  59. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_sleep_util.py +0 -0
  60. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_sqlalchemy_model_util.py +0 -0
  61. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_sqlalchemy_util.py +0 -0
  62. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_ssh_util.py +0 -0
  63. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_str_util.py +0 -0
  64. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_type_util.py +0 -0
  65. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_yookassa_api_client_util.py +0 -0
  66. {arpakitlib-1.6.54 → arpakitlib-1.6.55}/arpakitlib/ar_zabbix_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: arpakitlib
3
- Version: 1.6.54
3
+ Version: 1.6.55
4
4
  Summary: arpakitlib
5
5
  Home-page: https://github.com/ARPAKIT-Company/arpakitlib
6
6
  License: Apache-2.0
@@ -26,6 +26,7 @@ Requires-Dist: bs4 (>=0.0.2,<0.0.3)
26
26
  Requires-Dist: cachetools (>=5.5.0,<6.0.0)
27
27
  Requires-Dist: celery (>=5.4.0,<6.0.0)
28
28
  Requires-Dist: cryptography (>=44.0.0,<45.0.0)
29
+ Requires-Dist: email-validator (>=2.2.0,<3.0.0)
29
30
  Requires-Dist: fastapi (>=0.115.5,<0.116.0)
30
31
  Requires-Dist: gunicorn (>=23.0.0,<24.0.0)
31
32
  Requires-Dist: itsdangerous (>=2.2.0,<3.0.0)
@@ -4,6 +4,7 @@ from __future__ import annotations
4
4
 
5
5
  import asyncio
6
6
  import logging
7
+ import multiprocessing
7
8
  import os.path
8
9
  import pathlib
9
10
  import threading
@@ -30,7 +31,6 @@ from arpakitlib.ar_dict_util import combine_dicts
30
31
  from arpakitlib.ar_enumeration_util import Enumeration
31
32
  from arpakitlib.ar_json_util import safely_transfer_to_json_str_to_json_obj
32
33
  from arpakitlib.ar_logging_util import setup_normal_logging
33
- from arpakitlib.ar_operation_execution_util import ExecuteOperationWorker
34
34
  from arpakitlib.ar_settings_util import SimpleSettings
35
35
  from arpakitlib.ar_sqlalchemy_model_util import StoryLogDBM
36
36
  from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDB
@@ -403,26 +403,33 @@ class InitSqlalchemyDBStartupAPIEvent(BaseStartupAPIEvent):
403
403
  self.sqlalchemy_db.init()
404
404
 
405
405
 
406
- class SyncSafeRunWorkerStartupAPIEvent(BaseStartupAPIEvent):
407
- def __init__(self, worker: BaseWorker):
408
- super().__init__()
409
- self.worker = worker
406
+ class SafeRunWorkerModes(Enumeration):
407
+ async_task = "async_task"
408
+ thread = "thread"
409
+ process = "process"
410
410
 
411
- def async_on_startup(self, *args, **kwargs):
412
- thread = threading.Thread(
413
- target=self.worker.sync_safe_run,
414
- daemon=True
415
- )
416
- thread.start()
417
411
 
418
-
419
- class AsyncSafeRunWorkerStartupAPIEvent(BaseStartupAPIEvent):
420
- def __init__(self, worker: BaseWorker):
412
+ class SafeRunWorkerStartupAPIEvent(BaseStartupAPIEvent):
413
+ def __init__(self, worker: BaseWorker, safe_run_mode: str):
421
414
  super().__init__()
422
415
  self.worker = worker
416
+ self.safe_run_mode = safe_run_mode
423
417
 
424
418
  def async_on_startup(self, *args, **kwargs):
425
- _ = asyncio.create_task(self.worker.async_safe_run())
419
+ if self.safe_run_mode == SafeRunWorkerModes.async_task:
420
+ _ = asyncio.create_task(self.worker.async_safe_run())
421
+ elif self.safe_run_mode == SafeRunWorkerModes.thread:
422
+ thread = threading.Thread(
423
+ target=self.worker.sync_safe_run,
424
+ daemon=True
425
+ )
426
+ thread.start()
427
+ elif self.safe_run_mode == SafeRunWorkerModes.process:
428
+ process = multiprocessing.Process(
429
+ target=self.worker.sync_safe_run,
430
+ daemon=True
431
+ )
432
+ process.start()
426
433
 
427
434
 
428
435
  class BaseTransmittedAPIData(BaseModel):
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "arpakitlib"
3
- version = "1.6.54"
3
+ version = "1.6.55"
4
4
  description = "arpakitlib"
5
5
  authors = ["arpakit <arpakit@gmail.com>", "arpakit_support <support@arpakit.com>"]
6
6
  license = "Apache License 2.0"
@@ -49,6 +49,7 @@ redis = "^5.2.0"
49
49
  alembic = "^1.14.0"
50
50
  twine = "^6.0.1"
51
51
  itsdangerous = "^2.2.0"
52
+ email-validator = "^2.2.0"
52
53
 
53
54
  [[tool.poetry.source]]
54
55
  name = "testpypi"
File without changes
File without changes
File without changes