【发布时间】:2020-07-20 12:15:17
【问题描述】:
我正在使用 symfony 4 + enqueue (https://github.com/sroze/messenger-enqueue-transport + https://packagist.org/packages/enqueue/pheanstalk) 在 beanstalk 中运行异步作业。
现在我有:
/**
* @var Symfony\Component\EventDispatcher\EventDispatcherInterface
*/
private $eventDispatcher;
$event = new ArticleEvent("test title", "test description");
$this->eventDispatcher->dispatch($event, "article.publish");
但我希望延迟处理此作业。
文档让我像这样重构它:
use Enqueue\MessengerAdapter\EnvelopeItem\TransportConfiguration;
use Symfony\Component\Messenger\Envelope;
$event = new ArticleEvent("test title", "test description");
$transportConfig = (new TransportConfiguration())->setDeliveryDelay(5000);
$this->eventDispatcher->dispatch((new Envelope($event))->with($transportConfig));
这里的问题是我看不到在哪里放置活动名称 (article.publish)
(基于https://github.com/sroze/messenger-enqueue-transport#setting-custom-configuration-on-your-message)
【问题讨论】:
标签: php symfony symfony4 symfony-messenger