이것은 enqueue 라이브러리로 쉽게 할 수 있습니다. 먼저, AMQP, STOMP, Redis, Amazon SQS, 파일 시스템 등과 같은 다양한 전송 중에서 선택할 수 있습니다.
둘째, 사용하기 쉽습니다. 설치 시작 :
enqueue/simple-client
라이브러리와 one of the transports을 설치해야합니다. 파일 시스템을 선택한다고 가정하면 enqueue/fs
라이브러리를 설치하십시오. 요약 : 사용하여 당신과 같은
<?php
// consumer.php
use Enqueue\SimpleClient\SimpleClient;
use Enqueue\Psr\PsrProcessor;
use Enqueue\Psr\PsrMessage;
include __DIR__.'/vendor/autoload.php';
$client = new SimpleClient('file://');
$client->bind('a_topic', 'a_processor_name', function(PsrMessage $psrMessage) {
// processing logic here
return PsrProcessor::ACK;
});
// this call is optional but it worth to mention it.
// it configures a broker, for example it can create queues and excanges on RabbitMQ side.
$client->setupBroker();
$client->consume();
실행 많은 consumer.php
프로세스 :
<?php
// producer.php
use Enqueue\SimpleClient\SimpleClient;
include __DIR__.'/vendor/autoload.php';
$client = new SimpleClient('file://'); // the queue will store messages in tmp folder
$client->sendEvent('a_topic', 'aMessageData');
소비 스크립트 : 이제
composer require enqueue/simple-client enqueue/fs
을의 당신이 당신의 POST 스크립트에서 메시지를 보낼 수있는 방법을 살펴 보자 supervisord 또는 다른 프로세스 관리자는 로컬 컴퓨터에서 별도의 lib 또는 패키지없이 실행할 수 있습니다.
기본 예이며 대기열에 추가 할 수있는 많은 기능이 있습니다. 관심이 있으시면 enqueue documentation을 확인하십시오.
AJAX에서 스크립트를 실행하면 어떨까요? –
이것은 API 프로젝트이므로 PUT 요청은 많은 일을하고 있지만 그 중 일부는 응답 속도가 느려지고 있습니다. – azz0r