[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.133.156.254: ~ $
<?php declare(strict_types = 1);

namespace MailPoet\Cron;

if (!defined('ABSPATH')) exit;


use MailPoet\Cron\ActionScheduler\Actions\DaemonRun;
use MailPoet\Cron\ActionScheduler\Actions\DaemonTrigger;
use MailPoet\Cron\ActionScheduler\ActionScheduler;
use MailPoet\Cron\ActionScheduler\RemoteExecutorHandler;
use MailPoet\WP\Functions as WPFunctions;

class DaemonActionSchedulerRunner {
  /** @var ActionScheduler */
  private $actionScheduler;

  /** @var RemoteExecutorHandler */
  private $remoteExecutorHandler;

  /** @var DaemonTrigger */
  private $daemonTriggerAction;

  /** @var DaemonRun */
  private $daemonRunAction;

  /** @var WPFunctions */
  private $wp;

  public function __construct(
    ActionScheduler $actionScheduler,
    RemoteExecutorHandler $remoteExecutorHandler,
    DaemonTrigger $daemonTriggerAction,
    DaemonRun $daemonRunAction,
    WPFunctions $wp
  ) {
    $this->actionScheduler = $actionScheduler;
    $this->remoteExecutorHandler = $remoteExecutorHandler;
    $this->daemonTriggerAction = $daemonTriggerAction;
    $this->daemonRunAction = $daemonRunAction;
    $this->wp = $wp;
  }

  public function init(bool $isActive = true): void {
    if (!$isActive) {
      $this->deactivateOnTrigger();
      return;
    }
    $this->daemonRunAction->init();
    $this->daemonTriggerAction->init();
    $this->remoteExecutorHandler->init();
  }

  public function deactivate(): void {
    $this->actionScheduler->unscheduleAllCronActions();
  }

  /**
   * Unschedule all MailPoet actions when next "trigger" action is processed.
   * Note: We can't unschedule the actions directly inside the trigger action itself,
   * because the action is recurring and would reschedule itself anyway.
   * We need do the deactivation after the action scheduler process finishes.
   */
  private function deactivateOnTrigger(): void {
    $this->wp->addAction(DaemonTrigger::NAME, [$this, 'deactivateAfterProcess']);
  }

  public function deactivateAfterProcess(): void {
    $this->wp->addAction('action_scheduler_after_process_queue', [$this, 'deactivate']);
  }
}

Filemanager

Name Type Size Permission Actions
ActionScheduler Folder 0755
Triggers Folder 0755
Workers Folder 0755
CronHelper.php File 7.13 KB 0644
CronTrigger.php File 2.39 KB 0644
CronWorkerInterface.php File 939 B 0644
CronWorkerRunner.php File 5.81 KB 0644
CronWorkerScheduler.php File 2.77 KB 0644
Daemon.php File 4.28 KB 0644
DaemonActionSchedulerRunner.php File 2.04 KB 0644
DaemonHttpRunner.php File 4.67 KB 0644
Supervisor.php File 1.36 KB 0644
index.php File 6 B 0644