The amqp job component for Hyperf.
composer require friendsofhyperf/amqp-job
use FriendsOfHyperf\AmqpJob\Job;
use FriendsOfHyperf\AmqpJob\Annotations\AmqpJob;
use function FriendsOfHyperf\AmqpJob\dispatch;
#[AmqpJob(
exchange: 'hyperf.exchange',
routingKey: 'hyperf.routing.key',
pool: 'default',
queue: 'hyperf.queue',
)]
class FooJob extends Job
{
public function handle()
{
var_dump('foo');
}
}
dispatch(new FooJob());
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 \FriendsOfHyperf\AmqpJob\JobConsumer
{
//
}