kafka-python 3.0.1__py3-none-any.whl → 3.0.2__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.
kafka/net/selector.py CHANGED
@@ -122,6 +122,21 @@ class Task:
122
122
  raise RuntimeError('Task exception is already set!')
123
123
  self._exc = exc
124
124
 
125
+ def close(self):
126
+ stack = self._stack
127
+ while stack:
128
+ coro, stack = stack
129
+ if inspect.isgenerator(coro) or inspect.iscoroutine(coro):
130
+ try:
131
+ coro.close()
132
+ except ValueError:
133
+ # currently-executing coroutine -- can't close it from
134
+ # within itself; bail without corrupting _stack.
135
+ return
136
+ except Exception:
137
+ log.exception('Error closing coroutine for cancelled task')
138
+ self._stack = None
139
+
125
140
  @property
126
141
  def is_done(self):
127
142
  return self._stack is None
@@ -363,13 +378,29 @@ class NetworkSelector:
363
378
  result = await result
364
379
  return result
365
380
 
366
- def unschedule(self, task):
381
+ def _remove_scheduled(self, task):
367
382
  if task.scheduled_at is not None:
368
- self._scheduled.remove((task.scheduled_at, task))
383
+ try:
384
+ self._scheduled.remove((task.scheduled_at, task))
385
+ except ValueError:
386
+ pass
387
+ else:
388
+ # re-heapify to ensure heap structure is valid
389
+ heapq.heapify(self._scheduled)
369
390
  task.scheduled_at = None
370
391
 
392
+ def _retire_task(self, task):
393
+ if task is self._current:
394
+ return
395
+ self._pending_tasks.discard(task)
396
+ task.close()
397
+
398
+ def unschedule(self, task):
399
+ self._remove_scheduled(task)
400
+ self._retire_task(task)
401
+
371
402
  def reschedule(self, when, task):
372
- self.unschedule(task)
403
+ self._remove_scheduled(task)
373
404
  self.call_at(when, task)
374
405
  return task
375
406
 
kafka/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = '3.0.1'
1
+ __version__ = '3.0.2'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kafka-python
3
- Version: 3.0.1
3
+ Version: 3.0.2
4
4
  Summary: Pure Python client for Apache Kafka
5
5
  Author-email: Dana Powers <dana.powers@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -6,7 +6,7 @@ kafka/errors.py,sha256=9owgtTIcttdTCD1vAF9wz5jL9G72ljpR7M-vjLKEGvY,33206
6
6
  kafka/future.py,sha256=INmMIy2-BPxJ4zlw-V_i8Tj_OG9DMbyYyUEjOQ5pn_o,5440
7
7
  kafka/structs.py,sha256=ZOFmVJRbhSXykkw9cnuv-DGYE7g2KjaUGsytSOv4xVw,3146
8
8
  kafka/util.py,sha256=hvSdRbh5-IsUbpD_BqjabjEldtNmXufZH68b_xCkNjE,5194
9
- kafka/version.py,sha256=Ys8n4as2Wcnr8Aq6OV-e59RKmKVeyh9Oh2nzJ2FZPFk,22
9
+ kafka/version.py,sha256=FDUC8xOuizaRKSkyG1VOmlDwzcPJgbzFUWz58fhdUGQ,22
10
10
  kafka/admin/__init__.py,sha256=nTXg2CQo8Bydxsj80pVBzF2-jq4IhK7_gLnboeNWG60,1575
11
11
  kafka/admin/__main__.py,sha256=l5ujkHa3lBFEbKPCl7U0_pi6IIgj1IJfmB219vtcj50,69
12
12
  kafka/admin/_acls.py,sha256=QJlHguEM9t46qlABoQqTEDFQErDgG2RKwfV1NOKeKmU,13983
@@ -133,7 +133,7 @@ kafka/net/http_connect.py,sha256=j8R1yLNwhTF-nQVMEgRF88mOF5-v1Sdj7uwkBvvg5PU,513
133
133
  kafka/net/inet.py,sha256=zMo0NTCS7EY81uoNPri5ZHKcCnRVUIcCJiW6BeZWnCs,4730
134
134
  kafka/net/manager.py,sha256=nq7eKgzkazQ3sFLXQ-IOIFQ3FdyZYzfKxYxVrwYPGsc,19427
135
135
  kafka/net/metrics.py,sha256=-cdWXQtonCO7-LpovLoEcWM-_3R9sAtyQxWf_QHOAWE,7299
136
- kafka/net/selector.py,sha256=Vmgs69fWt3PnG5kLrDbGIX_W21M48naK2aZrvzhFYWg,24690
136
+ kafka/net/selector.py,sha256=4_g3AtYQfmhMjzFgtFOE_TbkIIifFWW5B8zvQmyBJCI,25733
137
137
  kafka/net/socks5.py,sha256=euTwJl2avRmCJhVKyGmhZWInqgY6MNHPA1Tz2f2J1Z0,10361
138
138
  kafka/net/transport.py,sha256=hfdoQ9dMOXrMxxLJ6c4A69OGN3_FuRvDL5UuFJ1X-sA,15116
139
139
  kafka/net/wakeup_notifier.py,sha256=hmxwrrqZ8zFHSHGYaorV7vdOoKo9SF3-VoS7YGkPq_w,2926
@@ -365,9 +365,9 @@ kafka/serializer/default.py,sha256=ZKzTWlG9N4vS3QXovFLygNVrnjAcMZKS0RE4OvQ6DL4,4
365
365
  kafka/serializer/json.py,sha256=lErgU66KZGf33hofwlObYIaxLDk9gcolhy_rlcOuf8Y,469
366
366
  kafka/serializer/wrapper.py,sha256=RGXFj-PXQyL3rdMXI9ACaohRa6Kg5SHOZTRruU9jluM,485
367
367
  kafka/vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
368
- kafka_python-3.0.1.dist-info/licenses/LICENSE,sha256=vxnoJsqm6bKl3ZWdI1Q7Ikw_k9cOvO3vcvZNsY_1fP8,11374
369
- kafka_python-3.0.1.dist-info/METADATA,sha256=x94JU24iHt_fFa9M9fGvb0WymEa1jP-icNwL5bwdHfM,11590
370
- kafka_python-3.0.1.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
371
- kafka_python-3.0.1.dist-info/entry_points.txt,sha256=LQvqZj3uM785ainO5HrXmukbjSrK-oPqrESqpvoR-As,51
372
- kafka_python-3.0.1.dist-info/top_level.txt,sha256=IivJz7l5WHdLNDT6RIiVAlhjQzYRwGqBBmKHZ7WjPeM,6
373
- kafka_python-3.0.1.dist-info/RECORD,,
368
+ kafka_python-3.0.2.dist-info/licenses/LICENSE,sha256=vxnoJsqm6bKl3ZWdI1Q7Ikw_k9cOvO3vcvZNsY_1fP8,11374
369
+ kafka_python-3.0.2.dist-info/METADATA,sha256=jQB9VNg9SS9r4_i52w7nofQF2k0ZWblwKCsiGc86a8k,11590
370
+ kafka_python-3.0.2.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
371
+ kafka_python-3.0.2.dist-info/entry_points.txt,sha256=LQvqZj3uM785ainO5HrXmukbjSrK-oPqrESqpvoR-As,51
372
+ kafka_python-3.0.2.dist-info/top_level.txt,sha256=IivJz7l5WHdLNDT6RIiVAlhjQzYRwGqBBmKHZ7WjPeM,6
373
+ kafka_python-3.0.2.dist-info/RECORD,,