New client rewrite proposal includes async Producer, but not async
Consumer, i think there is a reason. You can not send new consume
request before previous one is finished?

On Sun, Nov 10, 2013 at 11:42 AM, Marc Labbe <mrla...@gmail.com> wrote:
> Kane, you can probably achieve async consumer using the client directly
> (kafka.client.send_fetch_request) which a parameter to pass in a callback.
> I haven't used it myself.
>
>
> On Sun, Nov 10, 2013 at 2:33 PM, Marc Labbe <mrla...@gmail.com> wrote:
>
>> I was just browsing in the issues list and found the original issue from
>> mahendra for gevent support,
>> https://github.com/mumrah/kafka-python/issues/37. I suggest moving the
>> discussion there.
>>
>>
>> On Sun, Nov 10, 2013 at 2:06 PM, Marc Labbe <mrla...@gmail.com> wrote:
>>
>>> Hi David,
>>>
>>> check for mahendra's fork of kafka-python, he has implemented gevent
>>> support in a branch (https://github.com/mahendra/kafka-python/tree/gevent) 
>>> but
>>> it hasn't made it to the main repo (yet). I am not sure why and I haven't
>>> tested it myself.
>>>
>>> For brod, AFAIK, it doesn't support 0.8 so you have to use it with 0.7.x.
>>> On the other hand, kafka-python is the only python library I know of that
>>> supports 0.8.
>>>
>>> cheers,
>>> marc
>>>
>>>
>>> On Sat, Nov 9, 2013 at 6:34 PM, David Montgomery <
>>> davidmontgom...@gmail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> Even even further...using/kafka-python (
>>>> https://github.com/mumrah/kafka-python) I get the below error.  There is
>>>> nothing wrong with my kafka server.  I can telnet to 9092 just fine.
>>>>
>>>> Again..hoping for a python client that works with gevent.  kafka-python
>>>> did
>>>> nok event make it past the connection.
>>>>
>>>> kafka = KafkaClient(kafka_domain, 9092)
>>>> No handlers could be found for logger "kafka"
>>>> Traceback (most recent call last):
>>>>   File "/home/ubuntu/workspace/rtbhui-devops/servers/worker_server.py",
>>>> line 133, in <module>
>>>>     kafka = KafkaClient(kafka_domain, 9092)
>>>>   File
>>>>
>>>> "/usr/local/lib/python2.7/dist-packages/kafka_python-0.8.1_1-py2.7.egg/kafka/client.py",
>>>> line 32, in __init__
>>>>     self._load_metadata_for_topics()
>>>>   File
>>>>
>>>> "/usr/local/lib/python2.7/dist-packages/kafka_python-0.8.1_1-py2.7.egg/kafka/client.py",
>>>> line 69, in _load_metadata_for_topics
>>>>     raise Exception("All servers failed to process request")
>>>> Exception: All servers failed to process request
>>>>
>>>>
>>>>
>>>> On Sun, Nov 10, 2013 at 5:47 AM, David Montgomery <
>>>> davidmontgom...@gmail.com
>>>> > wrote:
>>>>
>>>> > Hi,
>>>> >
>>>> > I asked this question on StackOverflow.  No response.  No solution
>>>> seems
>>>> > tp work...even for a python lib that was designed for gevent and
>>>> kafka,  Is
>>>> > there any otehr libary that works with gevent wit python that works?
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > am trying to use gevent to write to kafka using brod on python 2.7.
>>>> >
>>>> > Here is the error message I get. Guess its to do blocking. brod
>>>> supports
>>>> > tornado but I use gevent.
>>>> >
>>>> > No handlers could be found for logger "brod.socket"Traceback (most
>>>> recent call last):
>>>> >   File "/var/chef/cache/src/gevent/gevent/greenlet.py", line 328, in
>>>> run
>>>> >     result = self._run(*self.args, **self.kwargs)
>>>> >   File "worker_server.py", line 204, in execute_kafka_pipe
>>>> >     kafka.produce(topic,payload)
>>>> >   File
>>>> "/usr/local/lib/python2.7/dist-packages/brod-0.3.2-py2.7.egg/brod/base.py",
>>>> line 287, in produce
>>>> >     return self._write(request, callback)
>>>> >   File
>>>> "/usr/local/lib/python2.7/dist-packages/brod-0.3.2-py2.7.egg/brod/blocking.py",
>>>> line 98, in _write
>>>> >     return self._write(data, callback, retries)
>>>> >   File
>>>> "/usr/local/lib/python2.7/dist-packages/brod-0.3.2-py2.7.egg/brod/blocking.py",
>>>> line 89, in _write
>>>> >     wrote_length += self._socket.send(data)
>>>> >   File "/var/chef/cache/src/gevent/gevent/socket.py", line 441, in send
>>>> >     self._wait(self._write_event)
>>>> >   File "/var/chef/cache/src/gevent/gevent/socket.py", line 292, in
>>>> _wait
>>>> >     assert watcher.callback is None, 'This socket is already used by
>>>> another greenlet: %r' % (watcher.callback, )AssertionError: This socket is
>>>> already used by another greenlet: <bound method Waiter.switch of
>>>> <gevent.hub.Waiter object at 0x1dece60>><Greenlet at 0x1d4b9b0:
>>>> execute_kafka_pipe('topic-spend', '{"enode": 1, "city": "Cairns", "dl":
>>>> "en", "wnode)> failed with AssertionError
>>>> >
>>>> > I tried to use gevent-kakfa but depends on gevent-zookeeper.
>>>> >
>>>> > When trying to connect to zookeeper i get this message:
>>>> >
>>>> > Traceback (most recent call last):
>>>> >   File "/home/ubuntu/workspace/devops/servers/worker_server.py", line
>>>> 68, in <module>
>>>> >     framework = gevent_zookeeper.ZookeeperFramework('localhost:2181',
>>>> 10)
>>>> >   File
>>>> "/usr/local/lib/python2.7/dist-packages/gevent_zookeeper/framework.py",
>>>> line 241, in __init__
>>>> >     self.client = ZookeeperClient(hosts, timeout)
>>>> >   File
>>>> "/usr/local/lib/python2.7/dist-packages/gevent_zookeeper/client.py", line
>>>> 211, in __init__
>>>> >     self._event = gevent.core.event(AttributeError: 'module' object
>>>> has no attribute 'core'Exception AttributeError: "'ZookeeperClient' object
>>>> has no attribute '_event'" in <bound method ZookeeperClient.__del__ of
>>>> <gevent_zookeeper.client.ZookeeperClient object at 0x274ded0>> ignored
>>>> >
>>>> > Is there not a python lib that I can I write messages using gevent that
>>>> > works?
>>>> >
>>>> >
>>>>
>>>
>>>
>>

Reply via email to