One more example. The formapro/pvm (it could be used to build bpmn or workflow processes) library uses MQ interfaces to execute tasks in parallel.
https://github.com/formapro/pvm/blob/master/docs/parallel-execution-with-enqueue.md On Monday, May 22, 2017 at 2:43:02 PM UTC+3, Maksim Kotlyar wrote: > > I’d like to draw attention to this topic again. > > > *Current status:* > > > We all know that PHP’s performance leaves much to be desired because of > its sync nature. PHP does not have a convenient and easy to use tool to do > async\parallel programming. > > The messaging API could help us here and opens new horizons for all of us > PHP developers. > > > There is another problem: Nowadays everybody is building its own messaging > library which is not compatible with others. The community is divided, > loses the pace. > > > No way to build truly interoperable solutions which rely on messaging. > > > *Solution:* > > > I suggest starting with Java Message Service (JMS) > <https://docs.oracle.com/javaee/7/api/javax/jms/package-summary.html> > specification. It was designed well and what is more important time-tested. > > > Here’s the implementation of the spec > https://github.com/php-enqueue/psr-queue, we tried to be as close to it > as it's possible. > > > Here's a bunch of transports implemented > <https://github.com/php-enqueue/enqueue-dev/tree/master/docs/transport> > (such as AMQP, STOMP, Redis, Amazon SQS, Filesystem, Doctrine DBAL, Null) > > I am looking forward to discussing it. > > If you are a voting member and you think it worth it please consider > supporting me (become a PSR sponsor). > > > *Examples:* > > > We’ll be able to build solutions, libraries based on it which is much more > efficient. > > > Here are a few examples of what we could do (mostly from Symfony world): > > 1. LiipImagineBundle now able to process images in the background > > <http://symfony.com/doc/current/bundles/LiipImagineBundle/resolve-cache-images-in-background.html> > 2. The extension to FOSElasticaBundle > <https://github.com/php-enqueue/enqueue-elastica-bundle>which improves > the populate command performance. > 3. Async events > > <https://github.com/php-enqueue/enqueue-dev/blob/master/docs/bundle/async_events.md> > 4. RPC over MQ > > <https://github.com/php-enqueue/enqueue-dev/blob/master/docs/quick_tour.md#remote-procedure-call-rpc> > 5. All sorts of message buses and application communications > > <https://blog.forma-pro.com/message-bus-to-every-php-application-42a7d3fbb30b> > . > 6. Doctrine extensions that work asynchronously. Like data audit. > 7. Distributed job scheduling library. > > Thanks. > > > On Monday, March 28, 2016 at 12:53:16 PM UTC+3, Márk Sági-Kazár wrote: >> >> Hi all, >> >> For quite a few years now, the world goes towards distributed systems. It >> became very important for these systems to communicate with each other in >> an efficient way. >> >> Also, with domain driven design, CQS, CQRS, etc it became important to >> exchange messages within the application as well. >> >> Whether the message's destination is another software component or >> another external service, it doesn't matter. >> >> Therefore, I am suggesting to create a PSR for such messaging API. >> >> Java's JMS is quite impressing from my point of view: >> https://en.wikipedia.org/wiki/Java_Message_Service >> (although I am not sure whether it can easily be adopted to PHP) >> >> Existing PHP examples for some kind of messaging: >> Bernard also does some sort of messaging: >> https://github.com/bernardphp/bernard >> Simple Bus: https://github.com/SimpleBus/ >> Prooph: https://github.com/prooph >> >> What do you think? I have a fear that this topic is too big to be >> standardized, so I would really love to hear any ideas on this topic. >> >> Kind regards, >> Mark >> > -- You received this message because you are subscribed to the Google Groups "PHP Framework Interoperability Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/php-fig/60ba4081-a551-43f1-9409-87ce98a8d959%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
