jararaca 0.3.10__py3-none-any.whl → 0.3.11__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 jararaca might be problematic. Click here for more details.
- jararaca/__init__.py +76 -5
- jararaca/cli.py +460 -116
- jararaca/core/uow.py +17 -12
- jararaca/messagebus/decorators.py +33 -30
- jararaca/messagebus/interceptors/aiopika_publisher_interceptor.py +30 -2
- jararaca/messagebus/interceptors/publisher_interceptor.py +7 -3
- jararaca/messagebus/publisher.py +14 -6
- jararaca/messagebus/worker.py +1102 -88
- jararaca/microservice.py +137 -34
- jararaca/observability/decorators.py +7 -3
- jararaca/observability/interceptor.py +4 -2
- jararaca/observability/providers/otel.py +14 -10
- jararaca/persistence/base.py +2 -1
- jararaca/persistence/interceptors/aiosqa_interceptor.py +167 -16
- jararaca/presentation/decorators.py +96 -10
- jararaca/presentation/server.py +31 -4
- jararaca/presentation/websocket/context.py +30 -4
- jararaca/presentation/websocket/types.py +2 -2
- jararaca/presentation/websocket/websocket_interceptor.py +28 -4
- jararaca/reflect/__init__.py +0 -0
- jararaca/reflect/controller_inspect.py +75 -0
- jararaca/{tools → reflect}/metadata.py +25 -5
- jararaca/scheduler/{scheduler_v2.py → beat_worker.py} +49 -53
- jararaca/scheduler/decorators.py +55 -20
- jararaca/tools/app_config/interceptor.py +4 -2
- jararaca/utils/rabbitmq_utils.py +259 -5
- jararaca/utils/retry.py +141 -0
- {jararaca-0.3.10.dist-info → jararaca-0.3.11.dist-info}/METADATA +2 -1
- {jararaca-0.3.10.dist-info → jararaca-0.3.11.dist-info}/RECORD +32 -31
- {jararaca-0.3.10.dist-info → jararaca-0.3.11.dist-info}/WHEEL +1 -1
- jararaca/messagebus/worker_v2.py +0 -617
- jararaca/scheduler/scheduler.py +0 -161
- {jararaca-0.3.10.dist-info → jararaca-0.3.11.dist-info}/LICENSE +0 -0
- {jararaca-0.3.10.dist-info → jararaca-0.3.11.dist-info}/entry_points.txt +0 -0
jararaca/__init__.py
CHANGED
|
@@ -11,7 +11,7 @@ if TYPE_CHECKING:
|
|
|
11
11
|
retry_later,
|
|
12
12
|
use_bus_message_controller,
|
|
13
13
|
)
|
|
14
|
-
from jararaca.microservice import AppContext, AppInterceptor
|
|
14
|
+
from jararaca.microservice import AppContext, AppInterceptor, AppTransactionContext
|
|
15
15
|
from jararaca.observability.interceptor import ObservabilityInterceptor
|
|
16
16
|
from jararaca.observability.providers.otel import OtelObservabilityProvider
|
|
17
17
|
from jararaca.persistence.sort_filter import (
|
|
@@ -32,6 +32,17 @@ if TYPE_CHECKING:
|
|
|
32
32
|
raises_500_on,
|
|
33
33
|
raises_http_exception_on,
|
|
34
34
|
)
|
|
35
|
+
from jararaca.reflect.controller_inspect import (
|
|
36
|
+
ControllerMemberReflect,
|
|
37
|
+
ControllerReflect,
|
|
38
|
+
)
|
|
39
|
+
from jararaca.reflect.metadata import (
|
|
40
|
+
SetMetadata,
|
|
41
|
+
get_all_metadata,
|
|
42
|
+
get_metadata,
|
|
43
|
+
get_metadata_value,
|
|
44
|
+
provide_metadata,
|
|
45
|
+
)
|
|
35
46
|
from jararaca.rpc.http.backends.httpx import HTTPXHttpRPCAsyncBackend
|
|
36
47
|
from jararaca.rpc.http.backends.otel import TracedRequestMiddleware
|
|
37
48
|
from jararaca.rpc.http.decorators import Body
|
|
@@ -53,6 +64,7 @@ if TYPE_CHECKING:
|
|
|
53
64
|
RestClient,
|
|
54
65
|
RouteHttpErrorHandler,
|
|
55
66
|
RPCRequestNetworkError,
|
|
67
|
+
RPCUnhandleError,
|
|
56
68
|
)
|
|
57
69
|
|
|
58
70
|
from .core.providers import ProviderSpec, Token
|
|
@@ -67,13 +79,22 @@ if TYPE_CHECKING:
|
|
|
67
79
|
)
|
|
68
80
|
from .messagebus.message import Message, MessageOf
|
|
69
81
|
from .messagebus.publisher import use_publisher
|
|
70
|
-
from .
|
|
71
|
-
|
|
82
|
+
from .microservice import (
|
|
83
|
+
Microservice,
|
|
84
|
+
use_app_context,
|
|
85
|
+
use_app_transaction_context,
|
|
86
|
+
use_app_tx_ctx_data,
|
|
87
|
+
use_current_container,
|
|
88
|
+
)
|
|
72
89
|
from .persistence.base import T_BASEMODEL, BaseEntity
|
|
73
90
|
from .persistence.interceptors.aiosqa_interceptor import (
|
|
74
91
|
AIOSQAConfig,
|
|
75
92
|
AIOSqlAlchemySessionInterceptor,
|
|
93
|
+
providing_new_session,
|
|
94
|
+
providing_session,
|
|
95
|
+
providing_transaction,
|
|
76
96
|
use_session,
|
|
97
|
+
use_transaction,
|
|
77
98
|
)
|
|
78
99
|
from .persistence.utilities import (
|
|
79
100
|
CriteriaBasedAttributeQueryInjector,
|
|
@@ -118,6 +139,11 @@ if TYPE_CHECKING:
|
|
|
118
139
|
from .tools.app_config.interceptor import AppConfigurationInterceptor
|
|
119
140
|
|
|
120
141
|
__all__ = [
|
|
142
|
+
"SetMetadata",
|
|
143
|
+
"provide_metadata",
|
|
144
|
+
"get_metadata",
|
|
145
|
+
"get_all_metadata",
|
|
146
|
+
"get_metadata_value",
|
|
121
147
|
"RedisMessageBrokerBackend",
|
|
122
148
|
"FilterRuleApplier",
|
|
123
149
|
"SortRuleApplier",
|
|
@@ -128,6 +154,7 @@ if TYPE_CHECKING:
|
|
|
128
154
|
"retry",
|
|
129
155
|
"retry_later",
|
|
130
156
|
"RPCRequestNetworkError",
|
|
157
|
+
"RPCUnhandleError",
|
|
131
158
|
"FILTER_SORT_ENTITY_ATTR_MAP",
|
|
132
159
|
"FilterModel",
|
|
133
160
|
"SortFilterRunner",
|
|
@@ -187,10 +214,14 @@ if TYPE_CHECKING:
|
|
|
187
214
|
"AIOSqlAlchemySessionInterceptor",
|
|
188
215
|
"AIOSQAConfig",
|
|
189
216
|
"create_http_server",
|
|
190
|
-
"MessageBusWorker",
|
|
191
217
|
"Container",
|
|
192
218
|
"WebSocketInterceptor",
|
|
193
219
|
"use_session",
|
|
220
|
+
"use_transaction",
|
|
221
|
+
"providing_session",
|
|
222
|
+
"provide_session",
|
|
223
|
+
"providing_transaction",
|
|
224
|
+
"providing_new_session",
|
|
194
225
|
"Post",
|
|
195
226
|
"Get",
|
|
196
227
|
"Patch",
|
|
@@ -212,7 +243,12 @@ if TYPE_CHECKING:
|
|
|
212
243
|
"HttpRpcClientBuilder",
|
|
213
244
|
"HTTPXHttpRPCAsyncBackend",
|
|
214
245
|
"use_app_context",
|
|
246
|
+
"use_app_transaction_context",
|
|
247
|
+
"use_app_tx_ctx_data",
|
|
248
|
+
"AppTransactionContext",
|
|
215
249
|
"AppContext",
|
|
250
|
+
"ControllerMemberReflect",
|
|
251
|
+
"ControllerReflect",
|
|
216
252
|
"AppInterceptor",
|
|
217
253
|
"OtelObservabilityProvider",
|
|
218
254
|
]
|
|
@@ -220,6 +256,11 @@ if TYPE_CHECKING:
|
|
|
220
256
|
__SPEC_PARENT__: str = __spec__.parent # type: ignore
|
|
221
257
|
# A mapping of {<member name>: (package, <module name>)} defining dynamic imports
|
|
222
258
|
_dynamic_imports: "dict[str, tuple[str, str, str | None]]" = {
|
|
259
|
+
"SetMetadata": (__SPEC_PARENT__, "reflect.metadata", None),
|
|
260
|
+
"provide_metadata": (__SPEC_PARENT__, "reflect.metadata", None),
|
|
261
|
+
"get_metadata": (__SPEC_PARENT__, "reflect.metadata", None),
|
|
262
|
+
"get_all_metadata": (__SPEC_PARENT__, "reflect.metadata", None),
|
|
263
|
+
"get_metadata_value": (__SPEC_PARENT__, "reflect.metadata", None),
|
|
223
264
|
"RedisMessageBrokerBackend": (
|
|
224
265
|
__SPEC_PARENT__,
|
|
225
266
|
"broker_backend.redis_broker_backend",
|
|
@@ -243,6 +284,7 @@ _dynamic_imports: "dict[str, tuple[str, str, str | None]]" = {
|
|
|
243
284
|
"retry": (__SPEC_PARENT__, "messagebus.bus_message_controller", None),
|
|
244
285
|
"retry_later": (__SPEC_PARENT__, "messagebus.bus_message_controller", None),
|
|
245
286
|
"RPCRequestNetworkError": (__SPEC_PARENT__, "rpc.http.decorators", None),
|
|
287
|
+
"RPCUnhandleError": (__SPEC_PARENT__, "rpc.http.decorators", None),
|
|
246
288
|
"FILTER_SORT_ENTITY_ATTR_MAP": (__SPEC_PARENT__, "persistence.sort_filter", None),
|
|
247
289
|
"FilterModel": (__SPEC_PARENT__, "persistence.sort_filter", None),
|
|
248
290
|
"SortFilterRunner": (__SPEC_PARENT__, "persistence.sort_filter", None),
|
|
@@ -323,7 +365,6 @@ _dynamic_imports: "dict[str, tuple[str, str, str | None]]" = {
|
|
|
323
365
|
None,
|
|
324
366
|
),
|
|
325
367
|
"create_http_server": (__SPEC_PARENT__, "presentation.server", None),
|
|
326
|
-
"MessageBusWorker": (__SPEC_PARENT__, "messagebus.worker", None),
|
|
327
368
|
"Container": (__SPEC_PARENT__, "di", None),
|
|
328
369
|
"WebSocketInterceptor": (
|
|
329
370
|
__SPEC_PARENT__,
|
|
@@ -335,6 +376,31 @@ _dynamic_imports: "dict[str, tuple[str, str, str | None]]" = {
|
|
|
335
376
|
"persistence.interceptors.aiosqa_interceptor",
|
|
336
377
|
None,
|
|
337
378
|
),
|
|
379
|
+
"use_transaction": (
|
|
380
|
+
__SPEC_PARENT__,
|
|
381
|
+
"persistence.interceptors.aiosqa_interceptor",
|
|
382
|
+
None,
|
|
383
|
+
),
|
|
384
|
+
"providing_session": (
|
|
385
|
+
__SPEC_PARENT__,
|
|
386
|
+
"persistence.interceptors.aiosqa_interceptor",
|
|
387
|
+
None,
|
|
388
|
+
),
|
|
389
|
+
"provide_session": (
|
|
390
|
+
__SPEC_PARENT__,
|
|
391
|
+
"persistence.interceptors.aiosqa_interceptor",
|
|
392
|
+
None,
|
|
393
|
+
),
|
|
394
|
+
"providing_new_session": (
|
|
395
|
+
__SPEC_PARENT__,
|
|
396
|
+
"persistence.interceptors.aiosqa_interceptor",
|
|
397
|
+
None,
|
|
398
|
+
),
|
|
399
|
+
"providing_transaction": (
|
|
400
|
+
__SPEC_PARENT__,
|
|
401
|
+
"persistence.interceptors.aiosqa_interceptor",
|
|
402
|
+
None,
|
|
403
|
+
),
|
|
338
404
|
"Post": (__SPEC_PARENT__, "presentation.decorators", None),
|
|
339
405
|
"Get": (__SPEC_PARENT__, "presentation.decorators", None),
|
|
340
406
|
"Patch": (__SPEC_PARENT__, "presentation.decorators", None),
|
|
@@ -375,8 +441,13 @@ _dynamic_imports: "dict[str, tuple[str, str, str | None]]" = {
|
|
|
375
441
|
"HttpRpcClientBuilder": (__SPEC_PARENT__, "rpc.http.decorators", None),
|
|
376
442
|
"HTTPXHttpRPCAsyncBackend": (__SPEC_PARENT__, "rpc.http.backends.httpx", None),
|
|
377
443
|
"use_app_context": (__SPEC_PARENT__, "microservice", None),
|
|
444
|
+
"use_app_transaction_context": (__SPEC_PARENT__, "microservice", None),
|
|
445
|
+
"use_app_tx_ctx_data": (__SPEC_PARENT__, "microservice", None),
|
|
378
446
|
"AppContext": (__SPEC_PARENT__, "microservice", None),
|
|
379
447
|
"AppInterceptor": (__SPEC_PARENT__, "microservice", None),
|
|
448
|
+
"AppTransactionContext": (__SPEC_PARENT__, "microservice", None),
|
|
449
|
+
"ControllerMemberReflect": (__SPEC_PARENT__, "reflect.controller_inspect", None),
|
|
450
|
+
"ControllerReflect": (__SPEC_PARENT__, "reflect.controller_inspect", None),
|
|
380
451
|
}
|
|
381
452
|
|
|
382
453
|
|