arpakitlib 1.8.207__py3-none-any.whl → 1.8.208__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.
- arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json +1 -1
- arpakitlib/_arpakit_project_template_v_5/project/operation_execution/operation_executor_worker.py +18 -3
- {arpakitlib-1.8.207.dist-info → arpakitlib-1.8.208.dist-info}/METADATA +1 -1
- {arpakitlib-1.8.207.dist-info → arpakitlib-1.8.208.dist-info}/RECORD +7 -7
- {arpakitlib-1.8.207.dist-info → arpakitlib-1.8.208.dist-info}/LICENSE +0 -0
- {arpakitlib-1.8.207.dist-info → arpakitlib-1.8.208.dist-info}/WHEEL +0 -0
- {arpakitlib-1.8.207.dist-info → arpakitlib-1.8.208.dist-info}/entry_points.txt +0 -0
arpakitlib/_arpakit_project_template_v_5/project/operation_execution/operation_executor_worker.py
CHANGED
@@ -24,12 +24,15 @@ class OperationExecutorWorker(BaseWorker):
|
|
24
24
|
*,
|
25
25
|
sqlalchemy_db: SQLAlchemyDb,
|
26
26
|
filter_operation_types: str | list[str] | None = None,
|
27
|
-
|
27
|
+
filter_operation_markers: str | list[str] | None = None,
|
28
|
+
startup_funcs: list[Any] | None = None,
|
29
|
+
data: dict[str, Any] | None = None,
|
28
30
|
):
|
29
31
|
super().__init__(
|
30
32
|
timeout_after_run=timedelta(seconds=0.01),
|
31
33
|
timeout_after_error_in_run=timedelta(seconds=0.1),
|
32
34
|
startup_funcs=startup_funcs,
|
35
|
+
data=data
|
33
36
|
)
|
34
37
|
|
35
38
|
raise_for_type(sqlalchemy_db, SQLAlchemyDb)
|
@@ -39,6 +42,10 @@ class OperationExecutorWorker(BaseWorker):
|
|
39
42
|
filter_operation_types = [filter_operation_types]
|
40
43
|
self.filter_operation_types = filter_operation_types
|
41
44
|
|
45
|
+
if isinstance(filter_operation_markers, str):
|
46
|
+
filter_operation_markers = [filter_operation_markers]
|
47
|
+
self.filter_operation_markers = filter_operation_markers
|
48
|
+
|
42
49
|
def sync_execute_operation(self, operation_dbm: OperationDBM):
|
43
50
|
if operation_dbm.type == OperationDBM.Types.healthcheck_:
|
44
51
|
self._logger.info(f"healthcheck {now_utc_dt()}")
|
@@ -88,6 +95,8 @@ class OperationExecutorWorker(BaseWorker):
|
|
88
95
|
)
|
89
96
|
if self.filter_operation_types is not None:
|
90
97
|
query = query.filter(OperationDBM.type.in_(self.filter_operation_types))
|
98
|
+
if self.filter_operation_markers is not None:
|
99
|
+
query = query.filter(OperationDBM.marker.in_(self.filter_operation_markers))
|
91
100
|
query = query.with_for_update()
|
92
101
|
query = query.order_by(asc(OperationDBM.creation_dt))
|
93
102
|
operation_dbm: OperationDBM | None = query.first()
|
@@ -181,6 +190,8 @@ class OperationExecutorWorker(BaseWorker):
|
|
181
190
|
)
|
182
191
|
if self.filter_operation_types is not None:
|
183
192
|
query = query.filter(OperationDBM.type.in_(self.filter_operation_types))
|
193
|
+
if self.filter_operation_markers is not None:
|
194
|
+
query = query.filter(OperationDBM.marker.in_(self.filter_operation_markers))
|
184
195
|
query = query.order_by(asc(OperationDBM.creation_dt)).with_for_update()
|
185
196
|
|
186
197
|
result = await async_session.execute(query)
|
@@ -271,9 +282,13 @@ class OperationExecutorWorker(BaseWorker):
|
|
271
282
|
|
272
283
|
def create_operation_executor_worker(
|
273
284
|
*,
|
274
|
-
filter_operation_types: str | list[str] | None = None
|
285
|
+
filter_operation_types: str | list[str] | None = None,
|
286
|
+
filter_operation_markers: str | list[str] | None = None,
|
287
|
+
startup_funcs: list[Any] | None = None
|
275
288
|
) -> OperationExecutorWorker:
|
276
289
|
return OperationExecutorWorker(
|
277
290
|
sqlalchemy_db=get_cached_sqlalchemy_db(),
|
278
|
-
filter_operation_types=filter_operation_types
|
291
|
+
filter_operation_types=filter_operation_types,
|
292
|
+
filter_operation_markers=filter_operation_markers,
|
293
|
+
startup_funcs=startup_funcs
|
279
294
|
)
|
@@ -8,7 +8,7 @@ arpakitlib/_arpakit_project_template_v_5/alembic/env.py,sha256=Qesmnj5A2kB-Doeuf
|
|
8
8
|
arpakitlib/_arpakit_project_template_v_5/alembic/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
|
9
9
|
arpakitlib/_arpakit_project_template_v_5/alembic/versions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
10
|
arpakitlib/_arpakit_project_template_v_5/alembic.ini,sha256=8fuyeEvGBiPGbxEFy8ISBV3xX_fgVmuhEGpB10_B5Uo,3733
|
11
|
-
arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json,sha256=
|
11
|
+
arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json,sha256=E78ase9v3t6Ljp5fkVnVXt9Qr8KSD5CzSDu8mzmLcLQ,98
|
12
12
|
arpakitlib/_arpakit_project_template_v_5/command/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
13
|
arpakitlib/_arpakit_project_template_v_5/command/alembic_history.sh,sha256=OMnDNtHIksGh9iavWnzbtxcudZW4vjdcISsBXvzZSPw,22
|
14
14
|
arpakitlib/_arpakit_project_template_v_5/command/alembic_revision_autogenerate.sh,sha256=yW2i-SBOtBx15Ya0poVQqKkJM5t2JZp06r9AEW-DmGE,46
|
@@ -195,7 +195,7 @@ arpakitlib/_arpakit_project_template_v_5/project/more/__init__.py,sha256=47DEQpj
|
|
195
195
|
arpakitlib/_arpakit_project_template_v_5/project/more/helloworld,sha256=eH7Hbcr9IMGQjrCTahL5Ht0QWrXNfswrGuIDJkg0Xf8,11
|
196
196
|
arpakitlib/_arpakit_project_template_v_5/project/operation_execution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
197
197
|
arpakitlib/_arpakit_project_template_v_5/project/operation_execution/const.py,sha256=dcvj5C9E2F2KCsGZPBBncQf_EvVJAC1qQgnyD8P4ZEw,6
|
198
|
-
arpakitlib/_arpakit_project_template_v_5/project/operation_execution/operation_executor_worker.py,sha256=
|
198
|
+
arpakitlib/_arpakit_project_template_v_5/project/operation_execution/operation_executor_worker.py,sha256=ygGavnIOrOqjtTsi1nhZXKGwwtjTaHbNT9KWZaTDLI4,12967
|
199
199
|
arpakitlib/_arpakit_project_template_v_5/project/operation_execution/scheduled_operation_creator_worker.py,sha256=WzZC6r0GVSwOpphsxqpRZIdeewK_wzi3YshjLOutYGA,4524
|
200
200
|
arpakitlib/_arpakit_project_template_v_5/project/operation_execution/scheduled_operations.py,sha256=4Wo-tuC2AbeCYTa5_snMJ2EkXwASCe08vXNnM5feJos,1607
|
201
201
|
arpakitlib/_arpakit_project_template_v_5/project/operation_execution/util.py,sha256=sqHF2AU5Y5IurYHcIH2bu3-JbS1amLO3GD13Zvy8epM,923
|
@@ -416,8 +416,8 @@ arpakitlib/ar_str_util.py,sha256=2lGpnXDf2h1cBZpVf5i1tX_HCv5iBd6IGnrCw4QWWlY,435
|
|
416
416
|
arpakitlib/ar_type_util.py,sha256=Cs_tef-Fc5xeyAF54KgISCsP11NHyzIsglm4S3Xx7iM,4049
|
417
417
|
arpakitlib/ar_yookassa_api_client_util.py,sha256=VozuZeCJjmLd1zj2BdC9WfiAQ3XYOrIMsdpNK-AUlm0,5347
|
418
418
|
arpakitlib/clone_pydantic_model_fields.py,sha256=Gn9_AIjKknN1eIYK_xH_cMyff3hjOpfwRqs583-rnJs,1167
|
419
|
-
arpakitlib-1.8.
|
420
|
-
arpakitlib-1.8.
|
421
|
-
arpakitlib-1.8.
|
422
|
-
arpakitlib-1.8.
|
423
|
-
arpakitlib-1.8.
|
419
|
+
arpakitlib-1.8.208.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
|
420
|
+
arpakitlib-1.8.208.dist-info/METADATA,sha256=VwrhgOvWg1m3VCM50nEFNi0OQEY_t_Tj72Av5CBAiDY,3741
|
421
|
+
arpakitlib-1.8.208.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
422
|
+
arpakitlib-1.8.208.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
|
423
|
+
arpakitlib-1.8.208.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|