php fpm queue
0.1.2: Merge pull request #4 from sunkan
استخدم PHP-FPM كطاقة قائمة انتظار بسيطة في Async. استنادا إلى واجهات قائمة الانتظار القابلة للتشغيل البيني في قائمة الانتظار interop.
composer makasim/php-fpm-queue:0.1.x-dev queue-interop/queue-interop:0.7.x-dev enqueue/dsn:0.9.x-devنص المرسل:
<?php
# sender.php
use Makasim PhpFpm PhpFpmConnectionFactory ;
require_once __DIR__ . ' /vendor/autoload.php ' ;
$ context = ( new PhpFpmConnectionFactory ( ' tcp://localhost:9000 ' ))-> createContext ();
$ queue = $ context -> createQueue ( ' /app/worker.php ' );
$ message = $ context -> createMessage ( ' aBody ' );
$ context -> createProducer ()-> send ( $ queue , $ message );نص العامل:
<?php
# worker.php
use Makasim PhpFpm PhpFpmConnectionFactory ;
require_once __DIR__ . ' /vendor/autoload.php ' ;
$ context = ( new PhpFpmConnectionFactory ( ' tcp://localhost:9000 ' ))-> createContext ();
// or
// $ context = ( new PhpFpmConnectionFactory ( 'unix:///var/run/php/php7.1-fpm.sock' )) - > createContext ();
$ queue = $ context -> createQueue ( __FILE__ );
$ consumer = $ context -> createConsumer ( $ queue );
if ( $ message = $ consumer -> receiveNoWait ()) {
// process message
$ consumer -> acknowledge ( $ message );
}ابدأ PHP-FPM:
docker run -v ` pwd ` :/app -p 9000:9000 php:7.2-fpmأرسل رسالة:
php sender.phpمستوحاة من بنيامين بوست باستخدام PHP-FPM كطاقة قائمة بذاتها البسيطة المدمجة
رخصة معهد ماساتشوستس للتكنولوجيا