watchmen-collector-kernel 16.6.12__tar.gz → 16.6.14__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.
Files changed (60) hide show
  1. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/PKG-INFO +9 -9
  2. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/pyproject.toml +9 -9
  3. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/common/__init__.py +2 -1
  4. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/common/settings.py +11 -1
  5. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/scheduled_task.py +2 -1
  6. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/service/task_service.py +4 -0
  7. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/storage/change_data_json_service.py +18 -2
  8. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/storage/scheduled_task_service.py +13 -4
  9. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/LICENSE +0 -0
  10. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/__init__.py +0 -0
  11. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/cache/__init__.py +0 -0
  12. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/cache/collector_cache_manger.py +0 -0
  13. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/cache/collector_cache_service.py +0 -0
  14. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/cache/collector_topic_cache.py +0 -0
  15. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/cache/model_config_cache.py +0 -0
  16. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/cache/module_config_cache.py +0 -0
  17. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/cache/table_config_cache.py +0 -0
  18. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/common/constants.py +0 -0
  19. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/common/exception.py +0 -0
  20. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/__init__.py +0 -0
  21. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/change_data_json.py +0 -0
  22. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/change_data_json_history.py +0 -0
  23. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/change_data_record.py +0 -0
  24. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/change_data_record_history.py +0 -0
  25. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/collector_model_config.py +0 -0
  26. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/collector_module_config.py +0 -0
  27. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/collector_table_config.py +0 -0
  28. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/competitive_lock.py +0 -0
  29. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/condition.py +0 -0
  30. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/scheduled_task_history.py +0 -0
  31. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/status.py +0 -0
  32. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/trigger_event.py +0 -0
  33. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/trigger_model.py +0 -0
  34. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/trigger_module.py +0 -0
  35. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/model/trigger_table.py +0 -0
  36. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/service/__init__.py +0 -0
  37. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/service/criteria_builder.py +0 -0
  38. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/service/data_capture.py +0 -0
  39. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/service/extract_source.py +0 -0
  40. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/service/extract_spi.py +0 -0
  41. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/service/extract_utils.py +0 -0
  42. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/service/lock_helper.py +0 -0
  43. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/service/model_config_service.py +0 -0
  44. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/service/module_config_service.py +0 -0
  45. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/service/table_config_service.py +0 -0
  46. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/service/trigger_collector.py +0 -0
  47. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/service/trigger_event_helper.py +0 -0
  48. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/storage/__init__.py +0 -0
  49. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/storage/change_data_json_history_service.py +0 -0
  50. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/storage/change_data_record_history_service.py +0 -0
  51. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/storage/change_data_record_service.py +0 -0
  52. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/storage/collector_model_config_service.py +0 -0
  53. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/storage/collector_module_config_service.py +0 -0
  54. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/storage/collector_table_config_service.py +0 -0
  55. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/storage/competitive_lock_service.py +0 -0
  56. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/storage/scheduled_task_history_service.py +0 -0
  57. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/storage/trigger_event_service.py +0 -0
  58. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/storage/trigger_model_service.py +0 -0
  59. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/storage/trigger_module_service.py +0 -0
  60. {watchmen_collector_kernel-16.6.12 → watchmen_collector_kernel-16.6.14}/src/watchmen_collector_kernel/storage/trigger_table_service.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: watchmen-collector-kernel
3
- Version: 16.6.12
3
+ Version: 16.6.14
4
4
  Summary:
5
5
  License: MIT
6
6
  Author: botlikes
@@ -20,11 +20,11 @@ Provides-Extra: oss
20
20
  Provides-Extra: postgresql
21
21
  Provides-Extra: s3
22
22
  Requires-Dist: numpy (>=1.23.3,<2.0.0)
23
- Requires-Dist: watchmen-data-kernel (==16.6.12)
24
- Requires-Dist: watchmen-storage-mongodb (==16.6.12) ; extra == "mongodb"
25
- Requires-Dist: watchmen-storage-mssql (==16.6.12) ; extra == "mssql"
26
- Requires-Dist: watchmen-storage-mysql (==16.6.12) ; extra == "mysql"
27
- Requires-Dist: watchmen-storage-oracle (==16.6.12) ; extra == "oracle"
28
- Requires-Dist: watchmen-storage-oss (==16.6.12) ; extra == "oss"
29
- Requires-Dist: watchmen-storage-postgresql (==16.6.12) ; extra == "postgresql"
30
- Requires-Dist: watchmen-storage-s3 (==16.6.12) ; extra == "s3"
23
+ Requires-Dist: watchmen-data-kernel (==16.6.14)
24
+ Requires-Dist: watchmen-storage-mongodb (==16.6.14) ; extra == "mongodb"
25
+ Requires-Dist: watchmen-storage-mssql (==16.6.14) ; extra == "mssql"
26
+ Requires-Dist: watchmen-storage-mysql (==16.6.14) ; extra == "mysql"
27
+ Requires-Dist: watchmen-storage-oracle (==16.6.14) ; extra == "oracle"
28
+ Requires-Dist: watchmen-storage-oss (==16.6.14) ; extra == "oss"
29
+ Requires-Dist: watchmen-storage-postgresql (==16.6.14) ; extra == "postgresql"
30
+ Requires-Dist: watchmen-storage-s3 (==16.6.14) ; extra == "s3"
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "watchmen-collector-kernel"
3
- version = "16.6.12"
3
+ version = "16.6.14"
4
4
  description = ""
5
5
  authors = ["botlikes <75356972+botlikes456@users.noreply.github.com>"]
6
6
  license = "MIT"
@@ -11,14 +11,14 @@ packages = [
11
11
  [tool.poetry.dependencies]
12
12
  python = "^3.9"
13
13
  numpy = "^1.23.3"
14
- watchmen-data-kernel = "16.6.12"
15
- watchmen-storage-mysql = { version = "16.6.12", optional = true }
16
- watchmen-storage-oracle = { version = "16.6.12", optional = true }
17
- watchmen-storage-mongodb = { version = "16.6.12", optional = true }
18
- watchmen-storage-mssql = { version = "16.6.12", optional = true }
19
- watchmen-storage-postgresql = { version = "16.6.12", optional = true }
20
- watchmen-storage-oss = { version = "16.6.12", optional = true }
21
- watchmen-storage-s3 = { version = "16.6.12", optional = true }
14
+ watchmen-data-kernel = "16.6.14"
15
+ watchmen-storage-mysql = { version = "16.6.14", optional = true }
16
+ watchmen-storage-oracle = { version = "16.6.14", optional = true }
17
+ watchmen-storage-mongodb = { version = "16.6.14", optional = true }
18
+ watchmen-storage-mssql = { version = "16.6.14", optional = true }
19
+ watchmen-storage-postgresql = { version = "16.6.14", optional = true }
20
+ watchmen-storage-oss = { version = "16.6.14", optional = true }
21
+ watchmen-storage-s3 = { version = "16.6.14", optional = true }
22
22
 
23
23
  [tool.poetry.dev-dependencies]
24
24
 
@@ -3,5 +3,6 @@ from .constants import CHANGE_RECORD_ID, TENANT_ID, IS_MERGED, LEFT_BRACE, RIGHT
3
3
  from .settings import ask_clean_of_timeout_interval, ask_lock_timeout, ask_partial_size, \
4
4
  ask_collector_config_cache_enabled, ask_collector_timeout, ask_clean_up_lock_timeout, \
5
5
  ask_trigger_event_lock_timeout, ask_extract_table_lock_timeout, ask_s3_connector_lock_timeout, \
6
- ask_collector_task_timeout, ask_exception_max_length
6
+ ask_collector_task_timeout, ask_exception_max_length, ask_grouped_task_data_size_threshold, \
7
+ ask_task_partial_size
7
8
  from .exception import CollectorKernelException
@@ -15,7 +15,9 @@ class CollectorSettings(BaseSettings):
15
15
  S3_CONNECTOR_LOCK_TIMEOUT = 300
16
16
  PARTIAL_SIZE: int = 100
17
17
  COLLECTOR_CONFIG_CACHE_ENABLED: bool = True
18
- EXCEPTION_MAX_LENGTH = 1000 # character
18
+ EXCEPTION_MAX_LENGTH = 3000 # character
19
+ GROUPED_TASK_DATA_SIZE_THRESHOLD = 100
20
+ TASK_PARTIAL_SIZE: int = 100
19
21
 
20
22
  class Config:
21
23
  # secrets_dir = '/var/run'
@@ -70,3 +72,11 @@ def ask_collector_task_timeout() -> int:
70
72
 
71
73
  def ask_exception_max_length() -> int:
72
74
  return collector_settings.EXCEPTION_MAX_LENGTH
75
+
76
+
77
+ def ask_grouped_task_data_size_threshold() -> int:
78
+ return collector_settings.GROUPED_TASK_DATA_SIZE_THRESHOLD
79
+
80
+
81
+ def ask_task_partial_size() -> int:
82
+ return collector_settings.TASK_PARTIAL_SIZE
@@ -9,7 +9,8 @@ from enum import Enum
9
9
 
10
10
  class TaskType(int, Enum):
11
11
  DEFAULT = 1,
12
- RUN_PIPELINE = 2
12
+ RUN_PIPELINE = 2,
13
+ GROUP = 3
13
14
 
14
15
 
15
16
  class Result(str, Enum):
@@ -39,6 +39,10 @@ class TaskService:
39
39
  executed(task.topicCode, task.content, task.tenantId)
40
40
  elif task.type == TaskType.RUN_PIPELINE.value:
41
41
  executed(task.topicCode, task.content, task.tenantId, task.pipelineId)
42
+ elif task.type == TaskType.GROUP.value:
43
+ raw_data_list = task.content.get("data")
44
+ for raw_data in raw_data_list:
45
+ executed(task.topicCode, raw_data, task.tenantId)
42
46
 
43
47
  def update_task_result(self, task: ScheduledTask, status: int, result=None) -> ScheduledTask:
44
48
  try:
@@ -144,6 +144,23 @@ class ChangeDataJsonService(TupleService):
144
144
  limit=limit if limit is not None else ask_partial_size()
145
145
  ))
146
146
 
147
+ def find_json(self, model_trigger_id: int, limit: int = None) -> List:
148
+ try:
149
+ self.begin_transaction()
150
+ return self.storage.find_limited(
151
+ EntityLimitedFinder(
152
+ name=self.get_entity_name(),
153
+ shaper=self.get_entity_shaper(),
154
+ criteria=[
155
+ EntityCriteriaExpression(left=ColumnNameLiteral(columnName=STATUS), right=0),
156
+ EntityCriteriaExpression(left=ColumnNameLiteral(columnName=MODEL_TRIGGER_ID),
157
+ right=model_trigger_id)
158
+ ],
159
+ limit=limit if limit is not None else ask_partial_size()
160
+ ))
161
+ finally:
162
+ self.close_transaction()
163
+
147
164
  def is_existed(self, change_json: ChangeDataJson) -> bool:
148
165
  self.begin_transaction()
149
166
  try:
@@ -187,8 +204,7 @@ class ChangeDataJsonService(TupleService):
187
204
  EntityCriteriaExpression(left=ColumnNameLiteral(columnName='object_id'), right=object_id),
188
205
  EntityCriteriaExpression(left=ColumnNameLiteral(columnName='model_trigger_id'),
189
206
  right=model_trigger_id)
190
- ],
191
- sort=[EntitySortColumn(name='sequence', method=EntitySortMethod.ASC)]
207
+ ]
192
208
  ))
193
209
  finally:
194
210
  self.storage.close()
@@ -1,7 +1,7 @@
1
1
  from datetime import datetime
2
2
  from typing import Optional, List, Any, Dict
3
3
 
4
- from watchmen_collector_kernel.common import ask_partial_size, STATUS
4
+ from watchmen_collector_kernel.common import ask_task_partial_size, STATUS
5
5
  from watchmen_utilities import ArrayHelper
6
6
 
7
7
  from watchmen_auth import PrincipalService
@@ -124,6 +124,14 @@ class ScheduledTaskService(TupleService):
124
124
  else:
125
125
  return None
126
126
 
127
+ def find_one_and_lock_nowait(self, task_id: int) -> Optional[ScheduledTask]:
128
+ return self.storage.find_one_and_lock_nowait(self.get_entity_finder(
129
+ criteria=[
130
+ EntityCriteriaExpression(left=ColumnNameLiteral(columnName='task_id'), right=task_id),
131
+ EntityCriteriaExpression(left=ColumnNameLiteral(columnName='status'), right=0),
132
+ ])
133
+ )
134
+
127
135
  def find_unfinished_tasks(self) -> List[Dict[str, Any]]:
128
136
  self.begin_transaction()
129
137
  try:
@@ -150,7 +158,7 @@ class ScheduledTaskService(TupleService):
150
158
  criteria=[
151
159
  EntityCriteriaExpression(left=ColumnNameLiteral(columnName='is_finished'), right=False)
152
160
  ],
153
- pageable=Pageable(pageNumber=1, pageSize=ask_partial_size())
161
+ pageable=Pageable(pageNumber=1, pageSize=ask_task_partial_size())
154
162
  )).data
155
163
  finally:
156
164
  self.close_transaction()
@@ -163,7 +171,7 @@ class ScheduledTaskService(TupleService):
163
171
  criteria=[
164
172
  EntityCriteriaExpression(left=ColumnNameLiteral(columnName=STATUS), right=0)
165
173
  ],
166
- limit=limit if limit is not None else ask_partial_size()
174
+ limit=limit if limit is not None else ask_task_partial_size()
167
175
  ))
168
176
 
169
177
  def is_existed(self, task: ScheduledTask) -> bool:
@@ -209,7 +217,8 @@ class ScheduledTaskService(TupleService):
209
217
  right=event_id),
210
218
  EntityCriteriaExpression(left=ColumnNameLiteral(columnName='tenant_id'),
211
219
  right=tenant_id)
212
- ]
220
+ ],
221
+ sort=[EntitySortColumn(name='task_id', method=EntitySortMethod.ASC)]
213
222
  ))
214
223
  finally:
215
224
  self.close_transaction()