dev-master
9999999-devSimple Event Scheduler
MIT
The Requires
- neos/flow ^4.0
- neos/event-sourcing dev-master
- php ~7.1.0
v0.1.0
0.1.0.0Simple Event Scheduler
MIT
The Requires
- neos/flow ^4.0
- neos/event-sourcing dev-master
- php ~7.1.0
Simple Event Scheduler
Simple Event scheduler for the Neos.EventSourcing Flow package, (*1)
class SomeClass implements EventListenerInterface { const TASK_TYPE = 'plans'; /** * @Flow\Inject * @var EventScheduler */ protected $scheduler; public function whenSomeThingWasPlanned(SomeThingWasPlanned $event): void { $taskPayload = ['nameOfTheThing' => $event->getTitle()]; $this->scheduler->scheduleTask($event->getCorrelationId(), self::TASK_TYPE, $event->getPlannedDate(), $taskPayload); } public function whenSomeThingWasCancelled(SomeThingWasCancelled $event): void { $this->scheduler->cancelTask($event->getCorrelationId(), self::TASK_TYPE); } public function whenSchedulerWasTriggered(SchedulerWasTriggered $event): void { if (!$event->matchesType(self::TASK_TYPE)) { return; } $payload = $event->getPayload(); // TODO Do something with the $paload } }
To make this work the ./flow wwwision.eventscheduler:scheduler:run
command needs to be executed regularly (e.g. via cron), (*2)
Note: In this example SomeThingWasPlanned
and SomeThingWasCancelled
are domain events.
SchedulerWasTriggered
is an "integration event" that triggered by the EventScheduler
as soon as the given timestamp is reached., (*3)
Simple Event Scheduler
MIT
Simple Event Scheduler
MIT