Proposal: ZendQueue Refactoring

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Proposal: ZendQueue Refactoring

GianArb
Hi! Over the last few months we worked on ZendQueue component refactoring.

Inspired by the original RFC ( http://webcache.googleusercontent.com/search?q=cache:yoyvW8ZtPOoJ:framework.zend.com/wiki/display/ZFDEV2/RFC%2B-%2BZend%2BQueue%2BRefactoring+&cd=1&hl=it&ct=clnk&gl=it ) and some new ideas about component usages, we made a not backward compatible refactor of https://github.com/zendframework/ZendQueue (never officially release and in a bad state yet).

Reconsidering adapters choice we removed some old adapters (like Memcacheq and PlatformJobQueue, also we introduced two MongoDB-based adapters, with particular regard to Mongo's capped collection approach for creating a simple message queue (http://shtylman.com/post/the-tail-of-mongodb/ ).

He following adapters are implemented and tested:
  • ArrayAdapter (mock/testing)
  • Db (with table and row gateways)
  • MongoCappedCollection (supports just one queue per collection)
  • MongoCollection (supports just one queue per collection)
  • Null (used to disable a queue and testing)

The following new features are introduced and tested:
  • Send / Receive parameters
  • Adapter Capabilities Interfaces
  • Real await (MongoCappedCollection) and emulated await
  • QueueOptions, factories and service factories etc etc..
We'd like your opinion, also we'd like to know if our implementation is acceptable for the official repository otherwise we've to found a way to make it a stable repository (because we're using already it in various projects, maybe using another namespace instead of ZendQueue).

Thanks by

--
Gianluca Arbezzano
www.gianarb.it
Gianluca Arbezzano aka GianArb
www.gianarb.it
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: ZendQueue Refactoring

bakura
This post has NOT been accepted by the mailing list yet.
This post was updated on .
Hi,

Did you have a look at SlmQueue? It’s basically a refactored Zend Queue that have built-in support for SQS, Doctrine and Beanstalkd. It has already been used by a lot of us and is in production in many projects. It’s really awesome, and I think we’ve got the right abstractions there.





Le 26 mars 2014 à 20:39, GianArb [via Zend Framework Community] <ml-node+s634137n4661916h44@n4.nabble.com> a écrit :

> Hi! Over the last few months we worked on ZendQueue component refactoring.
>
> Inspired by the original RFC ( http://webcache.googleusercontent.com/search?q=cache:yoyvW8ZtPOoJ:framework.zend.com/wiki/display/ZFDEV2/RFC%2B-%2BZend%2BQueue%2BRefactoring+&cd=1&hl=it&ct=clnk&gl=it ) and some new ideas about component usages, we made a not backward compatible refactor of https://github.com/zendframework/ZendQueue (never officially release and in a bad state yet).
>
> Reconsidering adapters choice we removed some old adapters (like Memcacheq and PlatformJobQueue, also we introduced two MongoDB-based adapters, with particular regard to Mongo's capped collection approach for creating a simple message queue (http://shtylman.com/post/the-tail-of-mongodb/ ).
>
> He following adapters are implemented and tested:
> ArrayAdapter (mock/testing)
> Db (with table and row gateways)
> MongoCappedCollection (supports just one queue per collection)
> MongoCollection (supports just one queue per collection)
> Null (used to disable a queue and testing)
>
> The following new features are introduced and tested:
> Send / Receive parameters
> Adapter Capabilities Interfaces
> Real await (MongoCappedCollection) and emulated await
> QueueOptions, factories and service factories etc etc..
> We'd like your opinion, also we'd like to know if our implementation is acceptable for the official repository otherwise we've to found a way to make it a stable repository (because we're using already it in various projects, maybe using another namespace instead of ZendQueue).
>
> Thanks by
> https://github.com/orgs/ripaclub/members
>
> --
> Gianluca Arbezzano
> www.gianarb.it
> Gianluca Arbezzano aka GianArb
> www.gianarb.it
>
>
> If you reply to this email, your message will be added to the discussion below:
> http://zend-framework-community.634137.n4.nabble.com/Proposal-ZendQueue-Refactoring-tp4661916.html
> To start a new topic under ZF Contributor, email ml-node+s634137n680267h25@n4.nabble.com
> To unsubscribe from ZF Contributor, click here.
> NAML

Reply | Threaded
Open this post in threaded view
|

Re: Proposal: ZendQueue Refactoring

GianArb
This post has NOT been accepted by the mailing list yet.
Yes, we already know SlmQueue and we think it's a very good module, our implementation is an alternative approach, in particular ZendQueue:
  • It's just a library not a module
  • it isn't a Job Queue System (we think that Job System should be a separated component)
  • Queue uses Zend\EventManager directly for messages awaiting
  • it is highly integrated with ZF2
  • It supports Db with Zend\Db and Mongo capped collection directly for small system without external queue service (like AmazonSQS, but it should implemented in another package es. ZendCloud)
  • Here we have written other info https://github.com/ripaclub/ZendQueue/wiki/ZendQueue-Proposal
So we think both solutions are correct but on use case bases an approach can be better than another
Thanks for your feedbacks! :) 


2014-03-26 21:47 GMT+01:00 bakura [via Zend Framework Community] <[hidden email]>:
Hi,

Did you have a look at SlmQueue? It’s basically a refactored Zend Queue that have built-in support for SQS, Doctrine and Beanstalkd. It has already been used by a lot of us and is in production in many projects. It’s really awesome, and I think we’ve got the right abstractions there.

----------------------------------------
Michaël Gallego

Tel. : <a href="tel:06-98-82-62-38" value="+390698826238" target="_blank">06-98-82-62-38





Le 26 mars 2014 à 20:39, GianArb [via Zend Framework Community] <[hidden email]> a écrit :

Hi! Over the last few months we worked on ZendQueue component refactoring.

Inspired by the original RFC ( http://webcache.googleusercontent.com/search?q=cache:yoyvW8ZtPOoJ:framework.zend.com/wiki/display/ZFDEV2/RFC%2B-%2BZend%2BQueue%2BRefactoring+&cd=1&hl=it&ct=clnk&gl=it ) and some new ideas about component usages, we made a not backward compatible refactor of https://github.com/zendframework/ZendQueue (never officially release and in a bad state yet).

Reconsidering adapters choice we removed some old adapters (like Memcacheq and PlatformJobQueue, also we introduced two MongoDB-based adapters, with particular regard to Mongo's capped collection approach for creating a simple message queue (http://shtylman.com/post/the-tail-of-mongodb/ ).

He following adapters are implemented and tested:
  • ArrayAdapter (mock/testing)
  • Db (with table and row gateways)
  • MongoCappedCollection (supports just one queue per collection)
  • MongoCollection (supports just one queue per collection)
  • Null (used to disable a queue and testing)

The following new features are introduced and tested:
  • Send / Receive parameters
  • Adapter Capabilities Interfaces
  • Real await (MongoCappedCollection) and emulated await
  • QueueOptions, factories and service factories etc etc..
We'd like your opinion, also we'd like to know if our implementation is acceptable for the official repository otherwise we've to found a way to make it a stable repository (because we're using already it in various projects, maybe using another namespace instead of ZendQueue).

Thanks by

--
Gianluca Arbezzano
www.gianarb.it
Gianluca Arbezzano aka GianArb
www.gianarb.it



If you reply to this email, your message will be added to the discussion below:
http://zend-framework-community.634137.n4.nabble.com/Proposal-ZendQueue-Refactoring-tp4661916.html
To start a new topic under ZF Contributor, email [hidden email]
To unsubscribe from ZF Contributor, click here.
NAML




If you reply to this email, your message will be added to the discussion below:
http://zend-framework-community.634137.n4.nabble.com/Proposal-ZendQueue-Refactoring-tp4661916p4661917.html
To start a new topic under ZF Contributor, email [hidden email]
To unsubscribe from Zend Framework Community, click here.
NAML



--
Gianluca Arbezzano
www.gianarb.it
Gianluca Arbezzano aka GianArb
www.gianarb.it