oarepo-runtime 1.4.19__py3-none-any.whl → 1.4.21__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.
- oarepo_runtime/datastreams/asynchronous.py +12 -6
- oarepo_runtime/records/__init__.py +10 -0
- {oarepo_runtime-1.4.19.dist-info → oarepo_runtime-1.4.21.dist-info}/METADATA +1 -1
- {oarepo_runtime-1.4.19.dist-info → oarepo_runtime-1.4.21.dist-info}/RECORD +8 -8
- {oarepo_runtime-1.4.19.dist-info → oarepo_runtime-1.4.21.dist-info}/LICENSE +0 -0
- {oarepo_runtime-1.4.19.dist-info → oarepo_runtime-1.4.21.dist-info}/WHEEL +0 -0
- {oarepo_runtime-1.4.19.dist-info → oarepo_runtime-1.4.21.dist-info}/entry_points.txt +0 -0
- {oarepo_runtime-1.4.19.dist-info → oarepo_runtime-1.4.21.dist-info}/top_level.txt +0 -0
@@ -4,6 +4,7 @@ from typing import Any, Dict, List, Union
|
|
4
4
|
import celery
|
5
5
|
from celery.canvas import Signature as CelerySignature
|
6
6
|
from celery.canvas import chain
|
7
|
+
from celery.result import allow_join_result
|
7
8
|
from flask_principal import (
|
8
9
|
ActionNeed,
|
9
10
|
Identity,
|
@@ -196,13 +197,18 @@ def datastreams_call_callback(
|
|
196
197
|
|
197
198
|
@celery.shared_task
|
198
199
|
def datastreams_error_callback(
|
199
|
-
|
200
|
+
parent_task_id, *, identity=None, callback, callback_name, **kwargs
|
200
201
|
):
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
202
|
+
with allow_join_result():
|
203
|
+
from celery import current_app
|
204
|
+
result = current_app.AsyncResult(parent_task_id)
|
205
|
+
result.get(propagate=False)
|
206
|
+
|
207
|
+
callback = CelerySignature(callback)
|
208
|
+
callback.apply(
|
209
|
+
kwargs=dict(batch={}, identity=identity, callback=callback_name,
|
210
|
+
result=result.result, traceback=result.traceback, **kwargs)
|
211
|
+
)
|
206
212
|
|
207
213
|
|
208
214
|
def _serialize_identity(identity):
|
@@ -1 +1,11 @@
|
|
1
|
+
from typing import Type
|
1
2
|
|
3
|
+
from invenio_records_resources.records import Record
|
4
|
+
|
5
|
+
|
6
|
+
def select_record_for_update(record_cls: Type[Record], persistent_identifier):
|
7
|
+
"""Select a record for update."""
|
8
|
+
resolved_record = record_cls.pid.resolve(persistent_identifier)
|
9
|
+
model_id = resolved_record.model.id
|
10
|
+
obj = record_cls.model_cls.query.filter_by(id=model_id).with_for_update().one()
|
11
|
+
return record_cls(obj.data, model=obj)
|
@@ -19,7 +19,7 @@ oarepo_runtime/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
|
|
19
19
|
oarepo_runtime/config/permissions_presets.py,sha256=zApeA-2DYAlD--SzVz3vq_OFjq48Ko0pe08e4o2vxr4,6114
|
20
20
|
oarepo_runtime/config/service.py,sha256=IDDEQJ3LWYBLTFhE_8jPXiinIDNDY52fI0zigDJ_usQ,1095
|
21
21
|
oarepo_runtime/datastreams/__init__.py,sha256=AfkyZSbYjPntHbkH5lhZM-rPpayaiTDK3_b14VE9F4A,837
|
22
|
-
oarepo_runtime/datastreams/asynchronous.py,sha256=
|
22
|
+
oarepo_runtime/datastreams/asynchronous.py,sha256=LXGIPQ_2puicY1mWAq52vtLxd8rByqm2202_g1qBfUI,7272
|
23
23
|
oarepo_runtime/datastreams/catalogue.py,sha256=D6leq-FPT3RP3SniEAXPm66v3q8ZdQnaUYJ5XM0dIFY,5021
|
24
24
|
oarepo_runtime/datastreams/datastreams.py,sha256=qO98D3H9W903kgyNoo6FUKZYykbJ78AcdDe42jsPbbo,4140
|
25
25
|
oarepo_runtime/datastreams/errors.py,sha256=WyZLU53EdFJTLv6K2ooM_M6ISjLS-U1dDw6B7guOLSc,1540
|
@@ -62,7 +62,7 @@ oarepo_runtime/i18n/dumper.py,sha256=PbNFCLsiH4XV3E1v8xga_fzlcEImHy8OXn_UKh_8VBU
|
|
62
62
|
oarepo_runtime/i18n/schema.py,sha256=wJLyE4Ew4mqEGoMpM6JOsyyqGCV_R4YgWQUm45AHVPU,1184
|
63
63
|
oarepo_runtime/i18n/ui_schema.py,sha256=9r2j9zCG60yVEhcEFaz8TvmNGMAkzaOJFfKri3rtVck,1854
|
64
64
|
oarepo_runtime/i18n/validation.py,sha256=fyMTi2Rw-KiHv7c7HN61zGxRVa9sAjAEEkAL5wUyKNo,236
|
65
|
-
oarepo_runtime/records/__init__.py,sha256=
|
65
|
+
oarepo_runtime/records/__init__.py,sha256=Bxm2XNtB9j6iOAKGSVsjXTKIZS-iXKPzakCqyNkEix8,432
|
66
66
|
oarepo_runtime/records/dumpers/__init__.py,sha256=OmzNhLdMNKibmCksnj9eTX9xPBG30dziiK3j3bAAp3k,233
|
67
67
|
oarepo_runtime/records/dumpers/edtf_interval.py,sha256=YCShZAoqBQYaxVilEVotS-jXZsxxoXO67yu2urhkaMA,1198
|
68
68
|
oarepo_runtime/records/systemfields/__init__.py,sha256=JpDSVry8TWvUNGlR7AXd_D9NDLiVN2xg9qxjNit96Sw,257
|
@@ -97,9 +97,9 @@ oarepo_runtime/ui/marshmallow.py,sha256=ov96Ooo9n9lFPcUGm8aWzTR5d7LbgCQss1iOAy3z
|
|
97
97
|
oarepo_runtime/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
98
98
|
oarepo_runtime/utils/path.py,sha256=V1NVyk3m12_YLbj7QHYvUpE1wScO78bYsX1LOLeXDkI,3108
|
99
99
|
tests/pkg_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
100
|
-
oarepo_runtime-1.4.
|
101
|
-
oarepo_runtime-1.4.
|
102
|
-
oarepo_runtime-1.4.
|
103
|
-
oarepo_runtime-1.4.
|
104
|
-
oarepo_runtime-1.4.
|
105
|
-
oarepo_runtime-1.4.
|
100
|
+
oarepo_runtime-1.4.21.dist-info/LICENSE,sha256=h2uWz0OaB3EN-J1ImdGJZzc7yvfQjvHVYdUhQ-H7ypY,1064
|
101
|
+
oarepo_runtime-1.4.21.dist-info/METADATA,sha256=a85YOB_gmWwPZjwmPvJqkbDDPB4eAyglmnn9ruVMdSA,4288
|
102
|
+
oarepo_runtime-1.4.21.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92
|
103
|
+
oarepo_runtime-1.4.21.dist-info/entry_points.txt,sha256=DaNLz4CZpasjXP0PPfPEhVd8Q72_8YBf34st6PHeQn0,238
|
104
|
+
oarepo_runtime-1.4.21.dist-info/top_level.txt,sha256=bHhlkT1_RQC4IkfTQCqA3iN4KCB6cSFQlsXpQMSP-bE,21
|
105
|
+
oarepo_runtime-1.4.21.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|