jetstream-api 0.14.0__tar.gz → 0.15.0__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.14.0/jetstream_api.egg-info → jetstream_api-0.15.0}/PKG-INFO +36 -1
- jetstream_api-0.14.0/PKG-INFO → jetstream_api-0.15.0/README.md +799 -814
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/ilink/__init__.py +3 -1
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/ilink/admin.py +7 -7
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/ilink/common.py +4 -1
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/ilink/properties.py +102 -36
- jetstream_api-0.14.0/README.md → jetstream_api-0.15.0/jetstream_api.egg-info/PKG-INFO +849 -764
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/pyproject.toml +1 -1
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/LICENSE.txt +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/ilink/_codec.py +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/ilink/admintopic.py +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/ilink/connectivity.py +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/ilink/exception.py +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/ilink/msg.py +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/ilink/partitioner.py +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/ilink/pattern.py +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/ilink/producer.py +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/ilink/py.typed +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/ilink/qmgr.py +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/ilink/topic.py +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/ilink/util.py +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/jetstream_api.egg-info/SOURCES.txt +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/jetstream_api.egg-info/dependency_links.txt +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/jetstream_api.egg-info/requires.txt +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/jetstream_api.egg-info/top_level.txt +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/setup.cfg +0 -0
- {jetstream_api-0.14.0 → jetstream_api-0.15.0}/tests/test_example.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jetstream-api
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.15.0
|
|
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,41 @@ lz4 배치 압축을 쓰려면 `pip install "jetstream-api[lz4]"`, zstd 배치
|
|
|
60
60
|
## 설치 방법
|
|
61
61
|
pip install jetstream-api
|
|
62
62
|
|
|
63
|
+
## 0.15.0 변경 - 큐의 "파티션" 이 "세그먼트" 가 됩니다 (자바 v2.11.0 과 같음)
|
|
64
|
+
|
|
65
|
+
- **`ILQueueProperty.numberOfPartition` 이 `numberOfSegment` 로 바뀝니다.** 값도 자리도 그대로이고 **이름만** 바뀝니다.
|
|
66
|
+
- **옛 이름은 그대로 돕니다.** `numberOfPartition` 은 같은 값을 가리키는 별칭으로 남습니다 - 읽기도 쓰기도 되고,
|
|
67
|
+
`getNumberOfPartition()` / `setNumberOfPartition()` 도 전처럼 동작합니다. **고치지 않아도 되는 변경입니다.**
|
|
68
|
+
- `__str__` 라벨이 `NUM-PARTITION` 에서 `NUM-SEGMENT` 로 바뀝니다. 이 출력을 정규식으로 읽는 곳이 있으면 그곳만 봐 주세요.
|
|
69
|
+
- **왜 바꾸는지**: 같은 "파티션" 이라는 말이 토픽과 큐에서 **정반대** 를 뜻하고 있었습니다.
|
|
70
|
+
|
|
71
|
+
| 말 | 뜻 |
|
|
72
|
+
|---|---|
|
|
73
|
+
| 파티션 | **분산 처리 단위** (토픽. 리더 · 팔로워가 붙는다) |
|
|
74
|
+
| 세그먼트 | **한 노드 안의 저장 칸** (큐. 파일 1~N, 메모리, 공유메모리) |
|
|
75
|
+
|
|
76
|
+
토픽의 `PARTITIONS` 와 큐의 `PARTITION` 이 한 글자 차이로 서로 다른 개념이었습니다. 엔진이 큐에 진짜 분산 파티션을
|
|
77
|
+
들이기 전에 옛 이름을 비워 두는 것입니다.
|
|
78
|
+
- **와이어는 달라지지 않습니다.** 큐 속성 직렬화는 위치 기반 고정폭이라 **속성 이름이 실리지 않습니다.** 어느 이름으로
|
|
79
|
+
넣든 나가는 2200바이트(구엔진용 4096 레이아웃도)가 같습니다. 그래서 이 판은 **엔진 판을 가리지 않습니다.**
|
|
80
|
+
- **엔진 쪽 이름도 같이 바뀝니다**(ilsc `PARTITION(n)` -> `SEGMENT(n)`, `VIEW QUEUE` 머리글, 컨피그 XML
|
|
81
|
+
`Storage/@NumberOfPartition` -> `@NumberOfSegment`). 엔진도 옛 이름을 계속 받습니다.
|
|
82
|
+
- ★ **ilsc 에서 `SEGMENT` 를 쓰려면 엔진도 같이 올려야 합니다.** 클라이언트만 올린 환경에서는 엔진이 그 키워드를
|
|
83
|
+
모릅니다 - 그때도 큐는 정상 동작하고, ilsc 에서 `PARTITION` 을 쓰면 됩니다.
|
|
84
|
+
- **큐 실시간 정보의 "파티션" 목록도 같이 바뀝니다.** `getQueueRealTimeInfo()` 가 돌려주는
|
|
85
|
+
`ILQueueRealTimeInfo` 의 `partitions` 가 **`segments`** 가 되고, 항목 클래스 `PartitionItem` 은 **`SegmentItem`** 이 됩니다.
|
|
86
|
+
- 여기도 **옛 이름이 그대로 돕니다.** `partitions` 는 같은 목록을 가리키는 별칭이고(`getPartitions()` / `setPartitions()` 포함),
|
|
87
|
+
`PartitionItem` 은 `SegmentItem` 과 **같은 클래스 객체**라 `isinstance` 도 전처럼 통합니다.
|
|
88
|
+
- ★ **토픽의 `getPartitions()` 와는 뜻이 다릅니다.** 지금까지 두 클래스에서 **같은 이름이 정반대**를 뜻하고 있었습니다 -
|
|
89
|
+
토픽 쪽은 분산 처리 단위, 큐 실시간 정보 쪽은 한 노드 안의 저장 칸입니다. 이번 개명의 목적이 바로 이것입니다.
|
|
90
|
+
- `__str__` 머리글이 `Partitions ---` 에서 `Segments ---` 로 바뀝니다(엔진 `VIEW QUEUE` 가 `SEGMENTS(` 로 나가는 것과 맞춥니다).
|
|
91
|
+
- `ILC.MIMQ_VO_SEGMENT_ITEM_LEN` 이 생기고 `ILC.MIMQ_VO_PARTITION_ITEM_LEN` 은 같은 값(128)의 별칭으로 남습니다.
|
|
92
|
+
- **자바 클라이언트는 클래스 이름을 바꾸지 않습니다**(`PartitionItem` 유지, `getSegments()` 추가). 자바는 제네릭이 불변이라
|
|
93
|
+
`ArrayList<PartitionItem>` 을 별칭으로 덮을 수 없고, 사본으로 옛 접근자를 만들면 목록 수정이 조용히 사라지기 때문입니다.
|
|
94
|
+
파이썬은 클래스 별칭이 완전해서 이런 제약이 없습니다.
|
|
95
|
+
- **없어진 이름은 하나도 없습니다.** 이 판은 **추가와 별칭뿐**입니다.
|
|
96
|
+
- **디스크 파일 이름은 그대로입니다** (`QUEUE.P001`). 저장 레이아웃 자체라 바꾸지 않습니다.
|
|
97
|
+
|
|
63
98
|
## 0.14.0 변경 - 소켓 keepalive 탐침 타이머, NIO 커넥터 수신 기한 정합 (자바 v2.10.0 과 같음)
|
|
64
99
|
|
|
65
100
|
- **연결 소켓에 keepalive 탐침 타이머를 겁니다(유휴 60초 + 10초 간격 x 6회).** 엔진이 쓰는 값과 같습니다.
|