jetstream-api 0.20.2__tar.gz → 0.20.3__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.
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/PKG-INFO +7 -1
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/README.md +6 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/__init__.py +1 -1
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/admin.py +19 -14
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/jetstream_api.egg-info/PKG-INFO +7 -1
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/pyproject.toml +1 -1
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/LICENSE.txt +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/_codec.py +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/_consumer.py +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/_groupwire.py +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/_qleader.py +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/admintopic.py +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/common.py +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/connectivity.py +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/exception.py +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/msg.py +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/partitioner.py +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/pattern.py +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/producer.py +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/properties.py +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/py.typed +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/qmgr.py +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/topic.py +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/ilink/util.py +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/jetstream_api.egg-info/SOURCES.txt +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/jetstream_api.egg-info/dependency_links.txt +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/jetstream_api.egg-info/requires.txt +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/jetstream_api.egg-info/top_level.txt +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/setup.cfg +0 -0
- {jetstream_api-0.20.2 → jetstream_api-0.20.3}/tests/test_example.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jetstream-api
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.3
|
|
4
4
|
Summary: Python client API for iLink M.O.M. (Message Oriented Middleware)
|
|
5
5
|
Author: snowjeans
|
|
6
6
|
License: Boost Software License - Version 1.0 - August 17th, 2003
|
|
@@ -60,6 +60,12 @@ lz4 배치 압축을 쓰려면 `pip install "jetstream-api[lz4]"`, zstd 배치
|
|
|
60
60
|
## 설치 방법
|
|
61
61
|
pip install jetstream-api
|
|
62
62
|
|
|
63
|
+
## 0.20.3 변경 - 토픽 파티션 격리본 재주입 (자바 v2.16.3 과 같음, 짝 엔진 7.0.1.3512 이상 - 토픽 격리본은 7.0.1.3553 이상)
|
|
64
|
+
|
|
65
|
+
- 격리본 토픽 파티션(엔진 7.0.1.3553 QUARTOOL-2): `reinjectQuarantine` 의 큐 인자를 선택으로 바꿨다 - 토픽 파티션 격리본은 큐를 비우고
|
|
66
|
+
부른다(큐 격리본에 비우면 엔진이 `MIMQE_INVALID_ARGUMENT (QUEUE required)`). 0.20.2 는 빈 큐를 보내기 전에 막았다. 토픽 격리본의
|
|
67
|
+
SINCE 는 **오프셋**이고(빈 값 = 격리 때 잘라 낸 시작, `"ALL"` = 전부), 목록 · 검사 원문에 `P` · `T` 줄과 `offset <시작>` 머리가 온다.
|
|
68
|
+
|
|
63
69
|
## 0.20.2 변경 - 관제 명령 관리 API · 강제 선출 · 리더십 표 · 격리본 (자바 v2.16.2 와 같음, 짝 엔진 7.0.1.3512 이상 - 리더십 표 · 격리본 · 키 단위 강제 선출은 7.0.1.3552 이상)
|
|
64
70
|
|
|
65
71
|
- **리더십 표 · 격리본**(엔진 7.0.1.3552 이상, 그 전 엔진은 `MIMQE_INVALID_REQ_CODE`):
|
|
@@ -10,6 +10,12 @@ lz4 배치 압축을 쓰려면 `pip install "jetstream-api[lz4]"`, zstd 배치
|
|
|
10
10
|
## 설치 방법
|
|
11
11
|
pip install jetstream-api
|
|
12
12
|
|
|
13
|
+
## 0.20.3 변경 - 토픽 파티션 격리본 재주입 (자바 v2.16.3 과 같음, 짝 엔진 7.0.1.3512 이상 - 토픽 격리본은 7.0.1.3553 이상)
|
|
14
|
+
|
|
15
|
+
- 격리본 토픽 파티션(엔진 7.0.1.3553 QUARTOOL-2): `reinjectQuarantine` 의 큐 인자를 선택으로 바꿨다 - 토픽 파티션 격리본은 큐를 비우고
|
|
16
|
+
부른다(큐 격리본에 비우면 엔진이 `MIMQE_INVALID_ARGUMENT (QUEUE required)`). 0.20.2 는 빈 큐를 보내기 전에 막았다. 토픽 격리본의
|
|
17
|
+
SINCE 는 **오프셋**이고(빈 값 = 격리 때 잘라 낸 시작, `"ALL"` = 전부), 목록 · 검사 원문에 `P` · `T` 줄과 `offset <시작>` 머리가 온다.
|
|
18
|
+
|
|
13
19
|
## 0.20.2 변경 - 관제 명령 관리 API · 강제 선출 · 리더십 표 · 격리본 (자바 v2.16.2 와 같음, 짝 엔진 7.0.1.3512 이상 - 리더십 표 · 격리본 · 키 단위 강제 선출은 7.0.1.3552 이상)
|
|
14
20
|
|
|
15
21
|
- **리더십 표 · 격리본**(엔진 7.0.1.3552 이상, 그 전 엔진은 `MIMQE_INVALID_REQ_CODE`):
|
|
@@ -4236,7 +4236,8 @@ class ILAdminQmgr:
|
|
|
4236
4236
|
Returns:
|
|
4237
4237
|
str: 엔진이 준 텍스트 그대로. 첫 줄 ``QL1|<격리 루트>``, 그다음
|
|
4238
4238
|
``D|<디렉터리>|<NODE|GROUP|TOPIC|?>|<파일 수>|<바이트>|<기준 시각 또는 ->|<FORK.txt 첫 줄 또는 ->`` 와
|
|
4239
|
-
``Q|<디렉터리>|<큐>|<세그먼트 수>|<재주입 건수>`` 줄.
|
|
4239
|
+
``Q|<디렉터리>|<큐>|<세그먼트 수>|<재주입 건수>`` 줄. 엔진 7.0.1.3553 부터 토픽 파티션 격리본 줄
|
|
4240
|
+
``P|<디렉터리>|<토픽>/<파티션>|<잘라 낸 시작 오프셋 또는 ->|<재주입 건수>`` 도 온다.
|
|
4240
4241
|
|
|
4241
4242
|
Raises:
|
|
4242
4243
|
ILOperationException: 엔진이 거절했을 때(7.0.1.3552 전 엔진은 ``MIMQE_INVALID_REQ_CODE``).
|
|
@@ -4254,15 +4255,19 @@ class ILAdminQmgr:
|
|
|
4254
4255
|
|
|
4255
4256
|
Args:
|
|
4256
4257
|
directory (str): 격리 디렉터리 이름(한 단계 - ``/`` ``\\`` ``:`` 금지).
|
|
4257
|
-
queueName (str | None): 큐. ``None`` 이면 그 디렉터리의 모든 큐 요약.
|
|
4258
|
-
|
|
4259
|
-
|
|
4258
|
+
queueName (str | None): 큐. ``None`` 이면 그 디렉터리의 모든 큐 요약. 토픽 파티션 격리본(엔진 7.0.1.3553 이상)은
|
|
4259
|
+
디렉터리 종류로 엔진이 가르므로 비워 둔다.
|
|
4260
|
+
since (str | int | None): 기준. 큐 격리본은 ``None`` 이면 디렉터리 기준 시각, ``"ALL"`` 이면 전부,
|
|
4261
|
+
``"yyyymmddhhmmss"`` 문자열이나 epoch 밀리초 숫자. ☠ **토픽 격리본은 뜻이 다르다** - ``None`` 이면 격리 때 기록한
|
|
4262
|
+
잘라 낸 시작 오프셋(CUT.txt, 없는 옛 격리본은 거절), ``"ALL"`` 이면 사본 전부, 숫자는 그 **오프셋**부터.
|
|
4260
4263
|
|
|
4261
4264
|
Returns:
|
|
4262
4265
|
str: 엔진이 준 텍스트 그대로. 첫 줄 ``QS1|<디렉터리>|<큐 또는 *>|<기준>``, 큐마다
|
|
4263
4266
|
``S|<큐>|<전체>|<LIVE>|<CANDIDATE>|<OLD>|<DONE>``, 큐를 줬으면 재주입 대상 앞 500건
|
|
4264
4267
|
``M|C|<IndexId>|<PUT 시각>|<바이트>|<MsgId>``. LIVE = 지금 큐에 있음, CANDIDATE = 재주입 대상, OLD = 기준 전(소비됐을
|
|
4265
|
-
가능성), DONE = 이미 재주입.
|
|
4268
|
+
가능성), DONE = 이미 재주입. 토픽 격리본(엔진 7.0.1.3553 이상)이면 첫 줄 넷째 칸이 ``offset <시작>`` 이고,
|
|
4269
|
+
``S|<토픽>/<파티션>|<사본 전체>|<KEPT = 시작 앞>|<CANDIDATE>|0|<DONE>``, 앞 500건은 M 줄 대신
|
|
4270
|
+
``T|C|<오프셋>|<배치 시각>|<값 바이트>|<키 또는 ->`` 줄이다.
|
|
4266
4271
|
|
|
4267
4272
|
Raises:
|
|
4268
4273
|
ILOperationException: 엔진이 거절했을 때(디렉터리 · 큐가 없으면 ``MIMQE_OBJECT_NOT_FOUND`` 등).
|
|
@@ -4276,7 +4281,7 @@ class ILAdminQmgr:
|
|
|
4276
4281
|
except Exception as exc:
|
|
4277
4282
|
raise ILException(exc) from exc
|
|
4278
4283
|
|
|
4279
|
-
def reinjectQuarantine(self, directory: str, queueName: str, since=None) -> "ILQuarantineReinjectResult":
|
|
4284
|
+
def reinjectQuarantine(self, directory: str, queueName: str | None = None, since=None) -> "ILQuarantineReinjectResult":
|
|
4280
4285
|
"""격리본의 재주입 대상(CANDIDATE)을 **그 큐의 지금 리더에 다시 넣는다** - ilsc ``REINJECT`` (0.20.2, 엔진 7.0.1.3552).
|
|
4281
4286
|
|
|
4282
4287
|
원래 MsgId · CorrelId 로 PUT 하고 100건마다 커밋한다. 넣은 것은 기록되어 다시 넣지 않는다. **먼저**
|
|
@@ -4284,28 +4289,28 @@ class ILAdminQmgr:
|
|
|
4284
4289
|
|
|
4285
4290
|
Args:
|
|
4286
4291
|
directory (str): 격리 디렉터리 이름.
|
|
4287
|
-
queueName (str): 큐(
|
|
4288
|
-
|
|
4292
|
+
queueName (str | None): 큐. 큐 격리본에는 필수다(비우면 엔진이 ``MIMQE_INVALID_ARGUMENT (QUEUE required)``).
|
|
4293
|
+
토픽 파티션 격리본(엔진 7.0.1.3553 이상)은 비운다 - 그 파티션에 다시 발행한다.
|
|
4294
|
+
since (str | int | None): 기준(:meth:`scanQuarantine` 과 같다 - 토픽 격리본은 오프셋).
|
|
4289
4295
|
|
|
4290
4296
|
Returns:
|
|
4291
4297
|
ILQuarantineReinjectResult: 넣은 건수 · 넣은 리더 · 메모. 메모가 ``stopped: ...`` 면 중간에 멈춘 것이다 - 넣은 만큼은
|
|
4292
4298
|
커밋됐고 다시 부르면 나머지만 넣는다.
|
|
4293
4299
|
|
|
4294
4300
|
Raises:
|
|
4295
|
-
|
|
4296
|
-
|
|
4301
|
+
ILOperationException: 엔진이 거절했을 때 - ``MIMQE_OBJECT_NOT_FOUND``, 큐 격리본에 큐가 없으면
|
|
4302
|
+
``MIMQE_INVALID_ARGUMENT (QUEUE required)``, 7.0.1.3553 전 엔진에 토픽 격리본이면
|
|
4297
4303
|
``MIMQE_UNSUPPORTED_OPERATION``, 리더가 없으면 ``MIMQE_CLUSTER_NO_LEADER``, 리더 접속 실패 사유.
|
|
4298
4304
|
ILException: 통신 실패.
|
|
4299
4305
|
|
|
4300
4306
|
Warning:
|
|
4301
4307
|
☠ **중복이 생길 수 있다** - ``since="ALL"`` 로 OLD(이미 소비됐을 수 있는 것)까지 넣으면 같은 메시지가 두 번 처리될 수
|
|
4302
4308
|
있다. 넣은 메시지는 **큐 맨 뒤에** 붙는다(원래 순서 자리로 가지 않는다). 건수에 비례해 오래 걸릴 수 있으니 관리 연결의
|
|
4303
|
-
세션 타임아웃을 넉넉히 둔다(ilsc 는 120초).
|
|
4309
|
+
세션 타임아웃을 넉넉히 둔다(ilsc 는 120초). 토픽 격리본을 다시 발행한 레코드는 **새 오프셋 · 새 시각**을 받는다
|
|
4310
|
+
(키 · 헤더 · 값은 그대로).
|
|
4304
4311
|
"""
|
|
4305
|
-
if not queueName:
|
|
4306
|
-
raise UnsupportedOperationException("queueName is required for reinject")
|
|
4307
4312
|
try:
|
|
4308
|
-
res = self.service.request(self.qmgrName, ILC.MIMQ_QUARANTINE_REINJECT, directory or "", queueName,
|
|
4313
|
+
res = self.service.request(self.qmgrName, ILC.MIMQ_QUARANTINE_REINJECT, directory or "", queueName or "",
|
|
4309
4314
|
self._quarantineSince(since))
|
|
4310
4315
|
if res is None or res.getCode() != ILC.MIMQ_SUCCESSFUL_CLUSTER_OPERATION:
|
|
4311
4316
|
raise ILOperationException(res.getArg2() if res is not None else "no response")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jetstream-api
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.3
|
|
4
4
|
Summary: Python client API for iLink M.O.M. (Message Oriented Middleware)
|
|
5
5
|
Author: snowjeans
|
|
6
6
|
License: Boost Software License - Version 1.0 - August 17th, 2003
|
|
@@ -60,6 +60,12 @@ lz4 배치 압축을 쓰려면 `pip install "jetstream-api[lz4]"`, zstd 배치
|
|
|
60
60
|
## 설치 방법
|
|
61
61
|
pip install jetstream-api
|
|
62
62
|
|
|
63
|
+
## 0.20.3 변경 - 토픽 파티션 격리본 재주입 (자바 v2.16.3 과 같음, 짝 엔진 7.0.1.3512 이상 - 토픽 격리본은 7.0.1.3553 이상)
|
|
64
|
+
|
|
65
|
+
- 격리본 토픽 파티션(엔진 7.0.1.3553 QUARTOOL-2): `reinjectQuarantine` 의 큐 인자를 선택으로 바꿨다 - 토픽 파티션 격리본은 큐를 비우고
|
|
66
|
+
부른다(큐 격리본에 비우면 엔진이 `MIMQE_INVALID_ARGUMENT (QUEUE required)`). 0.20.2 는 빈 큐를 보내기 전에 막았다. 토픽 격리본의
|
|
67
|
+
SINCE 는 **오프셋**이고(빈 값 = 격리 때 잘라 낸 시작, `"ALL"` = 전부), 목록 · 검사 원문에 `P` · `T` 줄과 `offset <시작>` 머리가 온다.
|
|
68
|
+
|
|
63
69
|
## 0.20.2 변경 - 관제 명령 관리 API · 강제 선출 · 리더십 표 · 격리본 (자바 v2.16.2 와 같음, 짝 엔진 7.0.1.3512 이상 - 리더십 표 · 격리본 · 키 단위 강제 선출은 7.0.1.3552 이상)
|
|
64
70
|
|
|
65
71
|
- **리더십 표 · 격리본**(엔진 7.0.1.3552 이상, 그 전 엔진은 `MIMQE_INVALID_REQ_CODE`):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|