2017 © Pedro Peláez
 

neos-package event-scheduler

Simple Event Scheduler

image

wwwision/event-scheduler

Simple Event Scheduler

  • Wednesday, July 26, 2017
  • by bwaidelich
  • Repository
  • 1 Watchers
  • 0 Stars
  • 10 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Wwwision.EventScheduler

Simple Event scheduler for the Neos.EventSourcing Flow package, (*1)

Usage

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)

The Versions

26/07 2017

dev-master

9999999-dev

Simple Event Scheduler

  Sources   Download

MIT

The Requires

 

26/07 2017

v0.1.0

0.1.0.0

Simple Event Scheduler

  Sources   Download

MIT

The Requires