Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding Tarantool queue backend #4

Open
ivasio opened this issue Mar 6, 2019 · 5 comments
Open

Adding Tarantool queue backend #4

ivasio opened this issue Mar 6, 2019 · 5 comments
Labels
external Proposed solution includes contribution to external projects

Comments

@ivasio
Copy link
Contributor

ivasio commented Mar 6, 2019

Seems like it's time to start working on Tarantool queue implementation. I propose the following : a top-level Queue abstract class with general methods (put, get) and RedisQueue and TarantoolQueue classes in corresponding folders. RedisQueue is actually now implemented, making it compatible with abstract parent class would cost nothing

@code-of-kpp
Copy link
Contributor

code-of-kpp commented Mar 6, 2019

In python abstract classes usually don't serve any good role except for documentation. And they suck as manuals. So the best things we can have here is duck typing, README and tests (to ensure interface compatibility among other things)

@ivasio
Copy link
Contributor Author

ivasio commented Mar 6, 2019

OK, I see. It might be the best moment to use some patterns and other OOP practices but after all duck typing coul be better

@ivasio
Copy link
Contributor Author

ivasio commented Mar 6, 2019

I found an interesting lib that could be the basis for our Tarantool implementation https://github.com/shveenkov/aiotarantool-queue-python . The lib is authored by a Mail.ru dev, it may be a good way to go assuming Tarantool itself is being developed by this company
What could done as far as I can see is first of all refactoring the asyncio code in the fresh standard flavour (await instead of yield from, async def instead of @asyncio.coroutine etc). Need some time to dive into the sources deeper to find other things for possible improvement

@mesher-x
Copy link

mesher-x commented Apr 3, 2019

@code-of-kpp code-of-kpp added the external Proposed solution includes contribution to external projects label May 11, 2019
@code-of-kpp
Copy link
Contributor

Ok, so both of them are merged and both libraries are compatible now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
external Proposed solution includes contribution to external projects
Projects
None yet
Development

No branches or pull requests

3 participants