ul-api-utils 7.11.7__tar.gz → 7.11.9__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.
Potentially problematic release.
This version of ul-api-utils might be problematic. Click here for more details.
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/PKG-INFO +1 -1
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/setup.py +1 -1
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/commands/cmd_start.py +10 -2
- ul-api-utils-7.11.9/ul_api_utils/commands/start/gunicorn.conf.py +26 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/modules/api_sdk.py +1 -1
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils.egg-info/PKG-INFO +1 -1
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils.egg-info/SOURCES.txt +1 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/LICENSE +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/README.md +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/conf.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/main.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/models/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/permissions.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/pure_flask_example.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/rate_limit_load.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/redis_repository.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/routes/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/routes/api_some.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/sockets/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/sockets/on_connect.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/sockets/on_disconnect.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/sockets/on_json.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/sockets/on_message.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/sockets/on_open.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/workers/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/example/workers/worker.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/setup.cfg +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/access/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/api_resource/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/api_resource/api_request.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/api_resource/api_resource.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/api_resource/api_resource_config.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/api_resource/api_resource_error_handling.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/api_resource/api_resource_fn_typing.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/api_resource/api_resource_type.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/api_resource/api_response.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/api_resource/api_response_db.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/api_resource/api_response_payload_alias.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/api_resource/db_types.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/api_resource/signature_check.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/commands/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/commands/cmd_enc_keys.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/commands/cmd_gen_api_user_token.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/commands/cmd_gen_new_api_user.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/commands/cmd_generate_api_docs.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/commands/cmd_worker_start.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/commands/start/__init__.py +0 -0
- /ul-api-utils-7.11.7/ul_api_utils/commands/start/gunicorn.conf.py → /ul-api-utils-7.11.9/ul_api_utils/commands/start/gunicorn.conf.local.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/commands/start/wsgi.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/conf/ul-debugger-main.js +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/conf/ul-debugger-ui.js +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/conf.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/const.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/debug/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/debug/debugger.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/debug/malloc.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/debug/stat.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/encrypt/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/encrypt/encrypt_decrypt_abstract.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/encrypt/encrypt_decrypt_aes_xtea.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/errors.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/internal_api/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/internal_api/__tests__/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/internal_api/__tests__/internal_api.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/internal_api/__tests__/internal_api_content_type.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/internal_api/internal_api.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/internal_api/internal_api_check_context.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/internal_api/internal_api_error.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/internal_api/internal_api_response.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/main.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/modules/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/modules/__tests__/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/modules/__tests__/test_api_sdk_jwt.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/modules/api_sdk_config.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/modules/api_sdk_jwt.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/modules/intermediate_state.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/modules/worker_context.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/modules/worker_sdk.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/modules/worker_sdk_config.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/py.typed +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/caching.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/debugger_scripts.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/health_check/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/health_check/const.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/health_check/health_check.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/health_check/health_check_template.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/health_check/resource.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/not_implemented.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/permissions.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/rate_limitter.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/socketio.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/swagger.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/web_forms/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/web_forms/custom_fields/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/web_forms/custom_fields/custom_checkbox_select.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/web_forms/custom_widgets/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/web_forms/custom_widgets/custom_select_widget.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/web_forms/custom_widgets/custom_text_input_widget.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/web_forms/uni_form.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/sentry.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/__tests__/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/__tests__/api_path_version.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/__tests__/unwrap_typing.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/api_encoding.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/api_format.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/api_method.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/api_pagination.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/api_path_version.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/api_request_info.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/avro.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/broker_topics_message_count.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/cached_per_request.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/colors.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/constants.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/decode_base64.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/deprecated.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flags.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/conf.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/exceptions.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/specifiers/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_models.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_specifier.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_three_specifier.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_version.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/utils/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/utils/input_type.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/utils/parameter_type.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/utils/replace_in_dict.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/utils/request_type.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/utils/schema_type.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/utils/security_type.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/imports.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/instance_checks.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/jinja/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/jinja/t_url_for.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/jinja/to_pretty_json.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/json_encoder.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/load_modules.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/memory_db/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/memory_db/__tests__/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/memory_db/errors.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/memory_db/repository.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/token_check.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/token_check_through_request.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/unwrap_typing.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/uuid_converter.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/validators/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/validators/__tests__/__init__.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/validators/__tests__/test_custom_fields.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/validators/custom_fields.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/validators/validate_empty_object.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/validators/validate_uuid.py +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils.egg-info/dependency_links.txt +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils.egg-info/entry_points.txt +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils.egg-info/requires.txt +0 -0
- {ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils.egg-info/top_level.txt +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import argparse
|
|
2
|
+
import gc
|
|
2
3
|
import os
|
|
3
4
|
import re
|
|
4
5
|
import subprocess
|
|
@@ -27,6 +28,7 @@ class CmdStart(Cmd):
|
|
|
27
28
|
max_requests: int
|
|
28
29
|
max_requests_jitter: int
|
|
29
30
|
worker_class: str
|
|
31
|
+
freeze_gc: bool
|
|
30
32
|
statsd_endpoint: Optional[str]
|
|
31
33
|
statsd_prefix: Optional[str]
|
|
32
34
|
|
|
@@ -56,8 +58,12 @@ class CmdStart(Cmd):
|
|
|
56
58
|
parser.add_argument('--worker-class', dest='worker_class', type=str, default='sync', required=False)
|
|
57
59
|
parser.add_argument('--statsd_endpoint', dest='statsd_endpoint', type=str, default=None, required=False)
|
|
58
60
|
parser.add_argument('--statsd_prefix', dest='statsd_prefix', type=str, default=None, required=False)
|
|
61
|
+
parser.add_argument('--freeze-gc', dest='freeze_gc', type=bool, default=False, required=False)
|
|
59
62
|
|
|
60
63
|
def run(self) -> None:
|
|
64
|
+
if self.freeze_gc:
|
|
65
|
+
gc.disable()
|
|
66
|
+
|
|
61
67
|
env = os.environ.copy()
|
|
62
68
|
name = re.sub(r'[^0-9a-z]+', '-', f'gncrn-{os.path.relpath(self.app_dir, os.getcwd()).lower().strip("/").strip()}')
|
|
63
69
|
env['PYTHONUNBUFFERED'] = os.environ.get('PYTHONUNBUFFERED', '0')
|
|
@@ -70,15 +76,17 @@ class CmdStart(Cmd):
|
|
|
70
76
|
|
|
71
77
|
assert len(APPLICATION_GUNICORN_WORKERS) > 0
|
|
72
78
|
|
|
73
|
-
conf = os.path.abspath(os.path.normpath(os.path.join(THIS_LIB_CWD, "commands", "start", "gunicorn.conf.py")))
|
|
74
79
|
debug = (self.debug and self.env == ENV_LOCAL)
|
|
80
|
+
local_conf = os.path.abspath(os.path.normpath(os.path.join(THIS_LIB_CWD, "commands", "start", "gunicorn.conf.local.py")))
|
|
81
|
+
prod_conf = os.path.abspath(os.path.normpath(os.path.join(THIS_LIB_CWD, "commands", "start", "gunicorn.conf.py")))
|
|
82
|
+
gunicorn_config = prod_conf if self.freeze_gc and not debug else local_conf
|
|
75
83
|
|
|
76
84
|
args = [
|
|
77
85
|
f'-n={name}',
|
|
78
86
|
f'-w={APPLICATION_GUNICORN_WORKERS}',
|
|
79
87
|
f'--worker-class={self.worker_class}',
|
|
80
88
|
f'-b=0.0.0.0:{self.port}',
|
|
81
|
-
f'--config={
|
|
89
|
+
f'--config={gunicorn_config}',
|
|
82
90
|
'--log-level=INFO',
|
|
83
91
|
f'--max-requests={self.max_requests}',
|
|
84
92
|
f'--max-requests-jitter={self.max_requests_jitter}',
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import gc
|
|
2
|
+
from typing import Any
|
|
3
|
+
|
|
4
|
+
from ul_py_tool.utils.write_stdout import write_stdout
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def when_ready(server: Any) -> None:
|
|
8
|
+
"""
|
|
9
|
+
Use only with --preload option.
|
|
10
|
+
Called just after the server is started.
|
|
11
|
+
Freeze garbage collector objects after preloading the application.
|
|
12
|
+
https://docs.gunicorn.org/en/20.1.0/settings.html?highlight=preload#when-ready
|
|
13
|
+
"""
|
|
14
|
+
gc.freeze()
|
|
15
|
+
write_stdout("Objects frozen in permanent generation: ", gc.get_freeze_count())
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def post_fork(server: Any, worker: Any) -> None:
|
|
19
|
+
"""
|
|
20
|
+
Works only with --preload.
|
|
21
|
+
Called just after a worker has been forked.
|
|
22
|
+
Enable garbage collection on each worker if it's not enabled for some reason.
|
|
23
|
+
https://docs.gunicorn.org/en/20.1.0/settings.html?highlight=preload#post-fork
|
|
24
|
+
"""
|
|
25
|
+
write_stdout("Enabling GC for worker", worker.pid)
|
|
26
|
+
gc.enable()
|
|
@@ -488,7 +488,7 @@ class ApiSdk:
|
|
|
488
488
|
elif api_resource._type == ApiResourceType.WEB:
|
|
489
489
|
result = api_resource.response_web_error(e)
|
|
490
490
|
elif api_resource._type == ApiResourceType.FILE:
|
|
491
|
-
result = api_resource.
|
|
491
|
+
result = api_resource.response_api_error(e)
|
|
492
492
|
else:
|
|
493
493
|
result = api_resource.response_web_error(
|
|
494
494
|
ResourceRuntimeApiError(f'unsupported type "{api_resource._type.value}" of error response'),
|
|
@@ -53,6 +53,7 @@ ul_api_utils/commands/cmd_generate_api_docs.py
|
|
|
53
53
|
ul_api_utils/commands/cmd_start.py
|
|
54
54
|
ul_api_utils/commands/cmd_worker_start.py
|
|
55
55
|
ul_api_utils/commands/start/__init__.py
|
|
56
|
+
ul_api_utils/commands/start/gunicorn.conf.local.py
|
|
56
57
|
ul_api_utils/commands/start/gunicorn.conf.py
|
|
57
58
|
ul_api_utils/commands/start/wsgi.py
|
|
58
59
|
ul_api_utils/conf/ul-debugger-main.js
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/api_resource/api_resource_config.py
RENAMED
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/api_resource/api_resource_error_handling.py
RENAMED
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/api_resource/api_resource_fn_typing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/api_resource/api_response_payload_alias.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/encrypt/encrypt_decrypt_abstract.py
RENAMED
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/encrypt/encrypt_decrypt_aes_xtea.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/internal_api/__tests__/internal_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/internal_api/internal_api_check_context.py
RENAMED
|
File without changes
|
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/internal_api/internal_api_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/modules/__tests__/test_api_sdk_jwt.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/resources/health_check/health_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/__tests__/api_path_version.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/broker_topics_message_count.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/__init__.py
RENAMED
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/conf.py
RENAMED
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/flask_swagger_generator/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/memory_db/__tests__/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/utils/token_check_through_request.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/validators/__tests__/test_custom_fields.py
RENAMED
|
File without changes
|
|
File without changes
|
{ul-api-utils-7.11.7 → ul-api-utils-7.11.9}/ul_api_utils/validators/validate_empty_object.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|