1. Go to this page and download the library: Download friendsofhyperf/amqp-job library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
friendsofhyperf / amqp-job example snippets
use FriendsOfHyperf\AmqpJob\Annotation\AmqpJob;
use FriendsOfHyperf\AmqpJob\Job;
use FriendsOfHyperf\AmqpJob\JobMessage;
use Hyperf\Amqp\Result;
use Hyperf\Amqp\Producer;
#[AmqpJob(
exchange: 'hyperf.exchange',
routingKey: 'hyperf.routing.key',
pool: 'default',
queue: 'hyperf.queue',
maxAttempts: 3,
confirm: true,
nums: 2,
)]
class FooJob extends Job
{
public function __construct(private readonly int $id)
{
}
public function handle(): Result
{
// Process $this->id.
return Result::ACK;
}
}
function dispatchFoo(Producer $producer, int $id): bool
{
$message = (new JobMessage(new FooJob($id)))
->setExchange('hyperf.exchange')
->setRoutingKey('hyperf.routing.key')
->setPoolName('default');
return $producer->produce($message, confirm: true, timeout: 5);
}
use Throwable;
public function fail(Throwable $e): void
{
// Report or persist the terminal failure.
}
namespace App\Amqp\Consumer;
use FriendsOfHyperf\AmqpJob\JobConsumer;
use Hyperf\Amqp\Annotation\Consumer;
#[Consumer(
exchange: 'hyperf.exchange',
routingKey: 'hyperf.routing.key',
queue: 'hyperf.queue',
name: 'MyConsumer',
nums: 4,
)]
class MyConsumer extends JobConsumer
{
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.