REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 2.99 KB
Close
/home/nshryvcy/himaltourism.com/wp-content/plugins/mailpoet/lib/Cron/CronWorkerScheduler.php
Text
Base64
<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing namespace MailPoet\Cron; if (!defined('ABSPATH')) exit; use MailPoet\Entities\ScheduledTaskEntity; use MailPoet\Newsletter\Sending\ScheduledTasksRepository; use MailPoet\WP\Functions as WPFunctions; use MailPoetVendor\Carbon\Carbon; class CronWorkerScheduler { /** @var WPFunctions */ private $wp; /** @var ScheduledTasksRepository */ private $scheduledTaskRepository; public function __construct( WPFunctions $wp, ScheduledTasksRepository $scheduledTaskRepository ) { $this->wp = $wp; $this->scheduledTaskRepository = $scheduledTaskRepository; } public function scheduleImmediatelyIfNotRunning($taskType, $priority = ScheduledTaskEntity::PRIORITY_LOW): ScheduledTaskEntity { $task = $this->scheduledTaskRepository->findScheduledOrRunningTask($taskType); // Do nothing when task is running if (($task instanceof ScheduledTaskEntity) && $task->getStatus() === null) { return $task; } $now = Carbon::createFromTimestamp($this->wp->currentTime('timestamp')); // Reschedule existing scheduled task if ($task instanceof ScheduledTaskEntity) { $task->setScheduledAt($now); $task->setPriority($priority); $this->scheduledTaskRepository->flush(); } // Schedule new task return $this->schedule($taskType, $now, $priority); } public function schedule($taskType, $nextRunDate, $priority = ScheduledTaskEntity::PRIORITY_LOW): ScheduledTaskEntity { $alreadyScheduled = $this->scheduledTaskRepository->findScheduledTask($taskType); if ($alreadyScheduled) { return $alreadyScheduled; } $task = new ScheduledTaskEntity(); $task->setType($taskType); $task->setStatus(ScheduledTaskEntity::STATUS_SCHEDULED); $task->setPriority($priority); $task->setScheduledAt($nextRunDate); $this->scheduledTaskRepository->persist($task); $this->scheduledTaskRepository->flush(); return $task; } public function reschedule(ScheduledTaskEntity $task, $timeout) { $scheduledAt = Carbon::createFromTimestamp($this->wp->currentTime('timestamp')); $task->setScheduledAt($scheduledAt->addMinutes($timeout)); $task->setStatus(ScheduledTaskEntity::STATUS_SCHEDULED); $this->scheduledTaskRepository->persist($task); $this->scheduledTaskRepository->flush(); } public function rescheduleProgressively(ScheduledTaskEntity $task): int { $scheduledAt = Carbon::createFromTimestamp($this->wp->currentTime('timestamp')); $rescheduleCount = $task->getRescheduleCount(); $timeout = (int)min(ScheduledTaskEntity::BASIC_RESCHEDULE_TIMEOUT * pow(2, $rescheduleCount), ScheduledTaskEntity::MAX_RESCHEDULE_TIMEOUT); $task->setScheduledAt($scheduledAt->addMinutes($timeout)); $task->setRescheduleCount($rescheduleCount + 1); $task->setStatus(ScheduledTaskEntity::STATUS_SCHEDULED); $this->scheduledTaskRepository->persist($task); $this->scheduledTaskRepository->flush(); return $timeout; } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 3 × Files: 10
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
ActionScheduler
DIR
-
drwxr-xr-x
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Triggers
DIR
-
drwxr-xr-x
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Workers
DIR
-
drwxr-xr-x
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CronHelper.php
7.13 KB
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CronTrigger.php
1.71 KB
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CronWorkerInterface.php
939 B
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CronWorkerRunner.php
6.00 KB
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CronWorkerScheduler.php
2.99 KB
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Daemon.php
3.62 KB
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DaemonActionSchedulerRunner.php
2.04 KB
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DaemonHttpRunner.php
5.13 KB
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
index.php
0 B
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Supervisor.php
1.36 KB
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).