Code Duplication    Length = 31-34 lines in 2 locations

src/TreeHouse/WorkerBundle/QueueExecutor.php 1 location

@@ 140-173 (lines=34) @@
137
     *
138
     * @return mixed
139
     */
140
    public function execute($action, array $payload)
141
    {
142
        $executor = $this->executorPool->getExecutor($action);
143
144
        // dispatch pre event, listeners may change the payload here
145
        $event = new ExecutionEvent($executor, $action, $payload);
146
        $this->dispatcher->dispatch(WorkerEvents::PRE_EXECUTE_ACTION, $event);
147
148
        try {
149
            $resolver = $this->getPayloadResolver($executor);
150
            $payload = $resolver->resolve($event->getPayload());
151
        } catch (ExceptionInterface $exception) {
152
            $this->logger->error(
153
                sprintf(
154
                    'Payload %s for "%s" is invalid: %s',
155
                    json_encode($payload, JSON_UNESCAPED_SLASHES),
156
                    $action,
157
                    $exception->getMessage()
158
                )
159
            );
160
161
            return false;
162
        }
163
164
        $result = $executor->execute($payload);
165
166
        $event = clone $event;
167
168
        // dispatch post event, listeners may change the result here
169
        $event->setResult($result);
170
        $this->dispatcher->dispatch(WorkerEvents::POST_EXECUTE_ACTION, $event);
171
172
        return $event->getResult();
173
    }
174
175
    /**
176
     * Returns a cached version of the payload resolver for an executor.

src/TreeHouse/WorkerBundle/QueueManager.php 1 location

@@ 549-579 (lines=31) @@
546
     *
547
     * @return mixed
548
     */
549
    public function execute($action, array $payload)
550
    {
551
        $executor = $this->getExecutor($action);
552
553
        // dispatch pre event, listeners may change the payload here
554
        $event = new ExecutionEvent($executor, $action, $payload);
555
        $this->dispatcher->dispatch(WorkerEvents::PRE_EXECUTE_ACTION, $event);
556
557
        try {
558
            $resolver = $this->getPayloadResolver($executor);
559
            $payload  = $resolver->resolve($event->getPayload());
560
        } catch (ExceptionInterface $exception) {
561
            $this->logger->error(
562
                sprintf(
563
                    'Payload %s for "%s" is invalid: %s',
564
                    json_encode($payload, JSON_UNESCAPED_SLASHES),
565
                    $action,
566
                    $exception->getMessage()
567
                )
568
            );
569
570
            return false;
571
        }
572
573
        $result = $executor->execute($payload);
574
        // dispatch post event, listeners may change the result here
575
        $event->setResult($result);
576
        $this->dispatcher->dispatch(WorkerEvents::POST_EXECUTE_ACTION, $event);
577
578
        return $event->getResult();
579
    }
580
581
    /**
582
     * CAUTION: this removes all items from an action's queue.