Hướng dẫn dùng enqueue trong PHP

Đây là điều bạn có thể dễ dàng thực hiện với thư viện enqueue . Đầu tiên, bạn có thể chọn từ nhiều phương tiện vận tải khác nhau , chẳng hạn như AMQP, STOMP, Redis, Amazon SQS, Filesystem, v.v.

Thứ hai, đó là siêu dễ sử dụng. Hãy bắt đầu từ cài đặt:

Bạn phải cài đặt enqueue/simple-clientthư viện và một trong các phương tiện giao thông . Giả sử bạn chọn một hệ thống tập tin, hãy cài đặt enqueue/fsthư viện. Tóm lại:

composer require enqueue/simple-client enqueue/fs 

Bây giờ, hãy xem cách bạn có thể gửi tin nhắn từ tập lệnh POST của mình:

<?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');

Kịch bản tiêu thụ:

<?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();

Chạy bao nhiêu consumer.phpquy trình tùy bạn bằng cách sử dụng trình giám sát hoặc trình quản lý quy trình khác, trên máy tính cục bộ, bạn có thể chạy nó mà không cần thêm bất kỳ gói hoặc lib nào.

Đó là một ví dụ cơ bản và enqueue có rất nhiều tính năng khác có thể hữu ích. Nếu bạn quan tâm, hãy kiểm tra tài liệu hàng đợi.

10 hữu ích 0 bình luận chia sẻ