edu-rdm-integration 3.3.3__py3-none-any.whl → 3.3.5__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.
@@ -34,6 +34,7 @@ from educommon.async_task.models import (
34
34
  )
35
35
  from educommon.async_task.tasks import (
36
36
  PeriodicAsyncTask,
37
+ UniquePeriodicAsyncTask,
37
38
  )
38
39
  from educommon.utils.date import (
39
40
  get_today_min_datetime,
@@ -100,39 +101,6 @@ if TYPE_CHECKING:
100
101
  )
101
102
 
102
103
 
103
- class PeriodicTaskLocker(TaskLocker):
104
- """Класс отвечающий за блокировку задач.
105
-
106
- Переопределён для возможности игнорирования повторного запуска для уже
107
- запущенных периодических задач.
108
- """
109
-
110
- def raise_if_locked(self, message: Optional[str] = None):
111
- """Если блокировано, то вызывает исключение."""
112
- if self.is_locked():
113
- self.debug(f'Add failed. Task {self.task_name} currently locked ({self.params})')
114
-
115
- raise Ignore()
116
-
117
-
118
- class UniquePeriodicAsyncTask(PeriodicAsyncTask):
119
- """Уникальные периодические задачи."""
120
-
121
- abstract = True
122
- lock_expire_seconds = 60 * 60
123
-
124
- locker_class = PeriodicTaskLocker
125
-
126
- @property
127
- def locker_config(self) -> dict:
128
- """Настройки для механизма блокировок. """
129
- return {
130
- 'lock_params': {'task_name': self.name},
131
- 'lock_message': f'Task [{self.__name__}] is running',
132
- 'lock_expire': self.lock_expire_seconds,
133
- }
134
-
135
-
136
104
  class RDMCheckUploadStatus(UniquePeriodicAsyncTask):
137
105
  """Периодическая задача для сбора статусов по загрузке файла в витрину."""
138
106
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edu-rdm-integration
3
- Version: 3.3.3
3
+ Version: 3.3.5
4
4
  Summary: Интеграция с Региональной витриной данных
5
5
  Home-page:
6
6
  Download-URL:
@@ -26,9 +26,9 @@ Requires-Dist: pip <24,>=23.2.1
26
26
  Requires-Dist: setuptools <70,>=47.3.1
27
27
  Requires-Dist: wheel <0.42,>=0.37.1
28
28
  Requires-Dist: transliterate <2
29
- Requires-Dist: Django <3.2,>=2.2
29
+ Requires-Dist: Django <3.3,>=2.2
30
30
  Requires-Dist: celery <5.3,>=4.4.7
31
- Requires-Dist: educommon <4,>=3.9.3
31
+ Requires-Dist: educommon <4,>=3.10.0
32
32
  Requires-Dist: function-tools <1,>=0.9.0
33
33
  Requires-Dist: m3-db-utils <1,>=0.3.10
34
34
  Requires-Dist: m3-django-compat <2,>=1.10.2
@@ -301,6 +301,23 @@ Requires-Dist: uploader-client <1,>=0.2.1
301
301
 
302
302
  ### Удалено
303
303
 
304
+
305
+ ## 3.3.5 - 2024-08-26
306
+ Классы UniquePeriodicAsyncTask, PeriodicTaskLocker перенесены в educommon.
307
+
308
+ ### Удалено
309
+ - [EDUSCHL-22267](https://jira.bars.group/browse/EDUSCHL-22267)
310
+ MINOR Классы UniquePeriodicAsyncTask, PeriodicTaskLocker перенесены в educommon.
311
+
312
+
313
+ ## 3.3.4 - 2024-08-16
314
+ Поднята максимальная версия Django (<3.3)
315
+
316
+ ### Изменено
317
+ - [EDUKNDG-14560](https://jira.bars.group/browse/EDUKNDG-14560)
318
+ MINOR Добавлена поддержка Django 3.2
319
+
320
+
304
321
  ## 3.3.3 - 2024-08-19
305
322
  Изменен порядок запуска сбора и экспорта по сущностям в периодической задаче TransferLatestEntitiesDataPeriodicTask
306
323
  с учетом многопоточности, скорректированы номера миграций
@@ -12,7 +12,7 @@ edu_rdm_integration/models.py,sha256=Fwt2O2j_aPI9owRZprreGQ2t7op-YmIYpZoq5HHjL3M
12
12
  edu_rdm_integration/redis_cache.py,sha256=GZhtM1d0cVr5TEqxh15K7dS371Msit6wRemIiYb2rzk,1548
13
13
  edu_rdm_integration/signals.py,sha256=3eRlpkDcFCF6TN80-QM8yBYLcyozzcmoPjz6r4_ApWg,73
14
14
  edu_rdm_integration/storages.py,sha256=o5WqUG7SnkeuMt-z8spUi-IraivST-7KHzfY-M3v7FA,6807
15
- edu_rdm_integration/tasks.py,sha256=1CbqE7kU23GWbaaym9TMal95zrYDInn8Dw9EEudm1gU,16437
15
+ edu_rdm_integration/tasks.py,sha256=WolNe2t3_NCOisZeg24HyPI3Y0ciOJbwaFprhWgt41Q,15282
16
16
  edu_rdm_integration/utils.py,sha256=NIOxlH4JiTOOxYgqcwtfqT5UAtNG24GLq_tsnBUtp8E,10370
17
17
  edu_rdm_integration/adapters/__init__.py,sha256=cU0swn4Ny5ZQz5buWRcWsT1mpWuUFJaUlHf2l7TtEBo,83
18
18
  edu_rdm_integration/adapters/apps.py,sha256=TyJTkSPs2qAHJ11fqbwLGk3Ea7ujtqWwbxqmvYNQxG8,363
@@ -174,9 +174,9 @@ edu_rdm_integration/uploader_log/enums.py,sha256=rgSO3BL2rh2xpfm0Pt4waQW8fB1VMJL
174
174
  edu_rdm_integration/uploader_log/managers.py,sha256=y5wTSMzF9hpOpIU_A7nIafL_LBU3QEie6LAYWoB-pBQ,3203
175
175
  edu_rdm_integration/uploader_log/ui.py,sha256=YM9Buqp2wxE95Wf5gvAATBzuYzDOossK1sEmvFk07cI,2110
176
176
  edu_rdm_integration/uploader_log/templates/ui-js/object-grid-buttons.js,sha256=2xyGe0wdVokM0RhpzRzcRvJPBkBmPe3SlZry4oP4Nzs,6201
177
- edu_rdm_integration-3.3.3.dist-info/LICENSE,sha256=uw43Gjjj-1vXWCItfSrNDpbejnOwZMrNerUh8oWbq8Q,3458
178
- edu_rdm_integration-3.3.3.dist-info/METADATA,sha256=C-G1C603filvIvr5n8TAqnKxKE-oEWOO44mEUCOPQ5c,71260
179
- edu_rdm_integration-3.3.3.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
180
- edu_rdm_integration-3.3.3.dist-info/namespace_packages.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
181
- edu_rdm_integration-3.3.3.dist-info/top_level.txt,sha256=nRJV0O14UtNE-jGIYG03sohgFnZClvf57H5m6VBXe9Y,20
182
- edu_rdm_integration-3.3.3.dist-info/RECORD,,
177
+ edu_rdm_integration-3.3.5.dist-info/LICENSE,sha256=uw43Gjjj-1vXWCItfSrNDpbejnOwZMrNerUh8oWbq8Q,3458
178
+ edu_rdm_integration-3.3.5.dist-info/METADATA,sha256=zr56HBzNMqu-2xJmYuQMXH0WkQ6EzmEz0KRVq5nKzmA,71796
179
+ edu_rdm_integration-3.3.5.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
180
+ edu_rdm_integration-3.3.5.dist-info/namespace_packages.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
181
+ edu_rdm_integration-3.3.5.dist-info/top_level.txt,sha256=nRJV0O14UtNE-jGIYG03sohgFnZClvf57H5m6VBXe9Y,20
182
+ edu_rdm_integration-3.3.5.dist-info/RECORD,,