Файловый менеджер - Редактировать - /var/www/xthruster/html/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/Retry/Process.php
Назад
<?php namespace WPML\TM\ATE\Retry; use WPML\Collect\Support\Collection; use WPML\FP\Fns; use WPML\FP\Relation; use WPML\TM\API\Jobs; use WPML_TM_ATE_Job_Repository; use function WPML\FP\pipe; class Process { const JOBS_PROCESSED_PER_REQUEST = 10; /** @var WPML_TM_ATE_Job_Repository $ateRepository */ private $ateRepository; /** @var Trigger $trigger */ private $trigger; public function __construct( WPML_TM_ATE_Job_Repository $ateRepository, Trigger $trigger ) { $this->ateRepository = $ateRepository; $this->trigger = $trigger; } /** * @param array $jobsToProcess * * @return Result */ public function run( $jobsToProcess ) { $result = new Result(); if ( $jobsToProcess ) { $result = $this->retry( $result, wpml_collect( $jobsToProcess ) ); } else { $result = $this->runRetryInit( $result ); } if ( $result->jobsToProcess->isEmpty() && $this->trigger->isRetryRequired() ) { $this->trigger->setLastRetry( time() ); } return $result; } /** * @param Result $result * * @return Result */ private function runRetryInit( Result $result ) { $wpmlJobIds = $this->getWpmlJobIdsToRetry(); if ( $this->trigger->isRetryRequired() && ! $wpmlJobIds->isEmpty() ) { $result = $this->retry( $result, $wpmlJobIds ); } return $result; } /** * @param Result $result * @param Collection $jobs * * @return Result */ private function retry( Result $result, Collection $jobs ) { $jobsChunks = $jobs->chunk( self::JOBS_PROCESSED_PER_REQUEST ); $result->processed = $this->handleJobs( $jobsChunks->shift() ); $result->jobsToProcess = $jobsChunks->flatten( 1 ); return $result; } /** * @return Collection */ private function getWpmlJobIdsToRetry() { return wpml_collect( $this->ateRepository->get_jobs_to_retry()->map_to_property( 'translate_job_id' ) ); } /** * @param Collection $items * * @return array $items [[wpmlJobId, status, ateJobId], ...] */ private function handleJobs( Collection $items ) { do_action( 'wpml_added_translation_jobs', [ 'local' => $items->toArray() ], Jobs::SENT_RETRY ); return $items->toArray(); } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.3-4ubuntu2.24 | Генерация страницы: 0.01 |
proxy
|
phpinfo
|
Настройка