-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathconsumers.pyi
More file actions
196 lines (183 loc) · 5.63 KB
/
consumers.pyi
File metadata and controls
196 lines (183 loc) · 5.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
from datetime import timedelta
from typing import final
from natsrpy._natsrpy_rs.js import JetStreamMessage
from typing_extensions import Self
__all__ = [
"AckPolicy",
"DeliverPolicy",
"MessagesIterator",
"PriorityPolicy",
"PullConsumer",
"PullConsumerConfig",
"PushConsumer",
"PushConsumerConfig",
"ReplayPolicy",
]
@final
class DeliverPolicy:
ALL: DeliverPolicy
LAST: DeliverPolicy
NEW: DeliverPolicy
BY_START_SEQUENCE: DeliverPolicy
BY_START_TIME: DeliverPolicy
LAST_PER_SUBJECT: DeliverPolicy
@final
class AckPolicy:
EXPLICIT: AckPolicy
NONE: AckPolicy
ALL: AckPolicy
@final
class ReplayPolicy:
INSTANT: ReplayPolicy
ORIGINAL: ReplayPolicy
@final
class PriorityPolicy:
NONE: PriorityPolicy
OVERFLOW: PriorityPolicy
PINNED_CLIENT: PriorityPolicy
PRIORITIZED: PriorityPolicy
@final
class PullConsumerConfig:
name: str | None
durable_name: str | None
description: str | None
deliver_policy: DeliverPolicy
delivery_start_sequence: int | None
delivery_start_time: int | None
ack_policy: AckPolicy
ack_wait: timedelta
max_deliver: int
filter_subject: str
filter_subjects: list[str]
replay_policy: ReplayPolicy
rate_limit: int
sample_frequency: int
max_waiting: int
max_ack_pending: int
headers_only: bool
max_batch: int
max_bytes: int
max_expires: timedelta
inactive_threshold: timedelta
num_replicas: int
memory_storage: bool
metadata: dict[str, str]
backoff: list[timedelta]
priority_policy: PriorityPolicy
priority_groups: list[str]
pause_until: int | None
def __new__(
cls,
name: str | None = None,
durable_name: str | None = None,
description: str | None = None,
deliver_policy: DeliverPolicy | None = None,
delivery_start_sequence: int | None = None,
delivery_start_time: int | None = None,
ack_policy: AckPolicy | None = None,
ack_wait: timedelta | None = None,
max_deliver: int | None = None,
filter_subject: str | None = None,
filter_subjects: list[str] | None = None,
replay_policy: ReplayPolicy | None = None,
rate_limit: int | None = None,
sample_frequency: int | None = None,
max_waiting: int | None = None,
max_ack_pending: int | None = None,
headers_only: bool | None = None,
max_batch: int | None = None,
max_bytes: int | None = None,
max_expires: timedelta | None = None,
inactive_threshold: timedelta | None = None,
num_replicas: int | None = None,
memory_storage: bool | None = None,
metadata: dict[str, str] | None = None,
backoff: list[timedelta] | None = None,
priority_policy: PriorityPolicy | None = None,
priority_groups: list[str] | None = None,
pause_until: int | None = None,
) -> Self: ...
@final
class PushConsumerConfig:
deliver_subject: str
name: str | None
durable_name: str | None
description: str | None
deliver_group: str | None
deliver_policy: DeliverPolicy
delivery_start_sequence: int | None
delivery_start_time: int | None
ack_policy: AckPolicy
ack_wait: timedelta
max_deliver: int
filter_subject: str
filter_subjects: list[str]
replay_policy: ReplayPolicy
rate_limit: int
sample_frequency: int
max_waiting: int
max_ack_pending: int
headers_only: bool
flow_control: bool
idle_heartbeat: timedelta
num_replicas: int
memory_storage: bool
metadata: dict[str, str]
backoff: list[timedelta]
inactive_threshold: timedelta
pause_until: int | None
def __new__(
cls,
deliver_subject: str,
name: str | None = None,
durable_name: str | None = None,
description: str | None = None,
deliver_group: str | None = None,
deliver_policy: DeliverPolicy | None = None,
delivery_start_sequence: int | None = None,
delivery_start_time: int | None = None,
ack_policy: AckPolicy | None = None,
ack_wait: timedelta | None = None,
max_deliver: int | None = None,
filter_subject: str | None = None,
filter_subjects: list[str] | None = None,
replay_policy: ReplayPolicy | None = None,
rate_limit: int | None = None,
sample_frequency: int | None = None,
max_waiting: int | None = None,
max_ack_pending: int | None = None,
headers_only: bool | None = None,
flow_control: bool | None = None,
idle_heartbeat: timedelta | None = None,
num_replicas: int | None = None,
memory_storage: bool | None = None,
metadata: dict[str, str] | None = None,
backoff: list[timedelta] | None = None,
inactive_threshold: timedelta | None = None,
pause_until: int | None = None,
) -> Self: ...
@final
class MessagesIterator:
def __aiter__(self) -> Self: ...
async def __anext__(self) -> JetStreamMessage: ...
async def next(
self,
timeout: float | timedelta | None = None,
) -> JetStreamMessage: ...
@final
class PushConsumer:
async def messages(self) -> MessagesIterator: ...
@final
class PullConsumer:
async def fetch(
self,
max_messages: int | None = None,
group: str | None = None,
priority: int | None = None,
max_bytes: int | None = None,
heartbeat: timedelta | None = None,
expires: timedelta | None = None,
min_pending: int | None = None,
min_ack_pending: int | None = None,
timeout: float | timedelta | None = None,
) -> list[JetStreamMessage]: ...