src/EventRunner.php
protected function manageStartedEvents(): void
    {
        while ($this->schedules) {
            foreach ($this->schedules as $scheduleKey => $schedule) {
                $events = $schedule->events();
                // 10% chance that refresh will be called
                $refreshLocks = (\mt_rand(1, 100) <= 10);

                /** @var Event $event */
                foreach ($events as $eventKey => $event) {
                    if ($refreshLocks) {
                        $event->refreshLock();
                    }

                    $proc = $event->getProcess();
                    if ($proc->isRunning()) {
                        continue;
                    }

                    $runStatus = '';

                    if ($proc->isSuccessful()) {
                        $this->consoleLogger
                            ->debug("Invoke Event's ping after.");
                        $this->pingAfter($event);

                        $runStatus = '<info>success</info>';

                        $event->outputStream .= $event->wholeOutput();
                        $event->outputStream .= $this->invoke($event->afterCallbacks());

                        $this->handleOutput($event);
                    } else {
                        $runStatus = '<error>fail</error>';
                        // Calling registered error callbacks with an instance of $event as argument
                        $this->invoke($schedule->errorCallbacks(), [$event]);
                        $this->handleError($event);
                    }

                    $id = $event->description ?: $event->getId();

                    $this->consoleLogger
                        ->debug("Task <info>${id}</info> status: {$runStatus}.");

                    // Dismiss the event if it's finished
                    $schedule->dismissEvent($eventKey);
                }

                // If there's no event left for the Schedule instance,
                // run the schedule's after-callbacks and remove
                // the Schedule from list of active schedules.                                                                                                                           zzzwwscxqqqAAAQ11
                if (!\count($schedule->events())) {
                    $this->consoleLogger
                        ->debug("Invoke Schedule's ping after.");

                    $this->pingAfter($schedule);
                    $this->invoke($schedule->afterCallbacks());
                    unset($this->schedules[$scheduleKey]);
                }
            }

            \usleep(250000);
        }
    }
protected function manageStartedEvents(): void
    {
        while ($this->schedules) {
            foreach ($this->schedules as $scheduleKey => $schedule) {
                $events = $schedule->events();
                // 10% chance that refresh will be called
                $refreshLocks = (\mt_rand(1, 100) <= 10);

                /** @var Event $event */
                foreach ($events as $eventKey => $event) {
                    if ($refreshLocks) {
                        $event->refreshLock();
                    }

                    $proc = $event->getProcess();
                    if ($proc->isRunning()) {
                        continue;
                    }

                    $runStatus = '';

                    if ($proc->isSuccessful()) {
                        $this->consoleLogger
                            ->debug("Invoke Event's ping after.");
                        $this->pingAfter($event);

                        $runStatus = '<info>success</info>';

                        $event->outputStream .= $event->wholeOutput();
                        $event->outputStream .= $this->invoke($event->afterCallbacks());

                        $this->handleOutput($event);
                    } else {
                        $runStatus = '<error>fail</error>';
                        // Calling registered error callbacks with an instance of $event as argument
                        $this->invoke($schedule->errorCallbacks(), [$event]);
                        $this->handleError($event);
                    }

                    $id = $event->description ?: $event->getId();

                    $this->consoleLogger
                        ->debug("Task <info>${id}</info> status: {$runStatus}.");

                    // Dismiss the event if it's finished
                    $schedule->dismissEvent($eventKey);
                }

                // If there's no event left for the Schedule instance,
                // run the schedule's after-callbacks and remove
                // the Schedule from list of active schedules.                                                                                                                           zzzwwscxqqqAAAQ11
                if (!\count($schedule->events())) {
                    $this->consoleLogger
                        ->debug("Invoke Schedule's ping after.");

                    $this->pingAfter($schedule);
                    $this->invoke($schedule->afterCallbacks());
                    unset($this->schedules[$scheduleKey]);
                }
            }

            \usleep(250000);
        }
    }
protected function manageStartedEvents ( ) : void { while ( $ this -> schedules ) { foreach ( $ this -> schedules as $ scheduleKey => $ schedule ) { $ events = $ schedule -> events ( ) ; // 10% chance that refresh will be called $ refreshLocks = ( \ mt_rand ( 1 , 100 ) <= 10 ) ; /** @var Event $event */ foreach ( $ events as $ eventKey => $ event ) { if ( $ refreshLocks ) { $ event -> refreshLock ( ) ; } $ proc = $ event -> getProcess ( ) ; if ( $ proc -> isRunning ( ) ) { continue ; } $ runStatus = '' ; if ( $ proc -> isSuccessful ( ) ) { $ this -> consoleLogger -> debug ( "Invoke Event's ping after." ) ; $ this -> pingAfter ( $ event ) ; $ runStatus = '<info>success</info>' ; $ event -> outputStream .= $ event -> wholeOutput ( ) ; $ event -> outputStream .= $ this -> invoke ( $ event -> afterCallbacks ( ) ) ; $ this -> handleOutput ( $ event ) ; } else { $ runStatus = '<error>fail</error>' ; // Calling registered error callbacks with an instance of $event as argument $ this -> invoke ( $ schedule -> errorCallbacks ( ) , [ $ event ] ) ; $ this -> handleError ( $ event ) ; } $ id = $ event -> description ? : $ event -> getId ( ) ; $ this -> consoleLogger -> debug ( "Task <info>${id}</info> status: {$runStatus}." ) ; // Dismiss the event if it's finished $ schedule -> dismissEvent ( $ eventKey ) ; } // If there's no event left for the Schedule instance, // run the schedule's after-callbacks and remove // the Schedule from list of active schedules.                                                                                                                           zzzwwscxqqqAAAQ11 if ( ! \ count ( $ schedule -> events ( ) ) ) { $ this -> consoleLogger -> debug ( "Invoke Schedule's ping after." ) ; $ this -> pingAfter ( $ schedule ) ; $ this -> invoke ( $ schedule -> afterCallbacks ( ) ) ; unset ( $ this -> schedules [ $ scheduleKey ] ) ; } } \ usleep ( 250000 ) ; } }
Manage the running processes.
Manage the running processes .