Giter VIP home page Giter VIP logo

brukva's Introduction

BIG FAT WARNING

https://github.com/evilkost/brukva - go there if you want working brukva. In this repository brukva is very outdated and broken.

brükva

Asynchronous Redis client that works within Tornado IO loop.

Usage

>>> import brukva
>>> c = brukva.Client()
>>> c.connect()
>>> def on_result(result):
       (error, data) = result
       print data or error
>>> c.set('foo', 'bar', on_result)
>>> c.get('foo', on_result)
>>> c.hgetall('foo', on_result)
>>> c.connection._stream.io_loop.start() # start tornado mainloop
True
bar
ResponseError (on HGETALL [('foo',), {}]): Operation against a key holding the wrong kind of value

Tips on testing

Run tests with the following command:

nosetests -s -w tests --nologcapture

Credits

brukva is developed and maintained by Konstantin Merenkov

License

See LICENSE file. Long story short: WTFPL v2

brukva's People

Contributors

clement avatar evilkost avatar kmerenkov avatar tnm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

brukva's Issues

'Message' object is not iterable

after doing curl http://localhost:8080/msg -d 'message=Hello!'

I get:

ERROR:root:Exception in callback <tornado.stack_context._StackContextWrapper object at 0x1013a0890>
Traceback (most recent call last):
File "/Library/Python/2.6/site-packages/tornado-2.0-py2.6.egg/tornado/ioloop.py", line 370, in _run_callback
callback()
File "/Library/Python/2.6/site-packages/tornado-2.0-py2.6.egg/tornado/stack_context.py", line 159, in wrapped
callback(_args, *_kwargs)
File "build/bdist.macosx-10.6-universal/egg/brukva/adisp.py", line 113, in _send_result
self.call(self.g.send(result))
File "build/bdist.macosx-10.6-universal/egg/brukva/client.py", line 946, in listen
ctx.ret_call(result)
File "build/bdist.macosx-10.6-universal/egg/brukva/client.py", line 63, in ret_call
self._call_callbacks(self.callbacks, value)
File "build/bdist.macosx-10.6-universal/egg/brukva/client.py", line 31, in _call_callbacks
callbacks(value)
File "socketserver.py", line 44, in on_message
(error, data) = result
TypeError: 'Message' object is not iterable

Error in _sudden_disconnect

_sudden_disconnect tries to access the parameter callbacks that's not currently being passed to it.

  File "x/brukva/client.py", line 336, in get
    self.execute_command('GET', callbacks, key)
  File "x/brukva/client.py", line 242, in execute_command
    self._sudden_disconnect()
  File "x/brukva/client.py", line 179, in _sudden_disconnect
    self.call_callbacks(callbacks, (ConnectionError("Socket closed on remote end"), None))
NameError: global name 'callbacks' is not defined

Implement pipelines

Implement pipelines

Make it just as in redis-py - buffer all commands and then send all at once.

Cover all commands

Cover all commands

At the moment not many commands are covered. That's enough for proof of concept but complete coverage is a must.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.