public function run()

in admin/AmazonAI-BackgroundTask.php [65:94]


  public function run() {
    $task = (array_key_exists('task', $_POST)) ? trim($_POST['task']) : '';
    $args = (array_key_exists('args', $_POST)) ? json_decode($_POST['args']) : [];

    if ( empty($task) ) {
      error_log(sprintf('%s Invalid background task. Missing task.', __METHOD__));
      wp_die(__('Invalid background task.', 'amazon-polly'), 'Invalid Request', 400);
    }

    if ( ! is_array($args) ) {
      error_log(sprintf('%s Invalid background task args.', __METHOD__));
      wp_die(__('Invalid background task args.', 'amazon-polly'), 'Invalid Request', 400);
    }

    if ( ! isset($_POST['nonce']) || 1 !== wp_verify_nonce($_POST['nonce'], $this->nonce_action_for_task($task)) ) {
      error_log(sprintf('%s Expired background task request for task %s', __METHOD__, $task));
      wp_die(__('Expired background task request.', 'amazon-polly'), 'Expired Request', 403);
    }

    $logger = new AmazonAI_Logger();
    $logger->log(sprintf('%s Running background task %s', __METHOD__, $task));

    /**
     * Fires when running a background task
     *
     * The dynamic portion of the hook name, `$task`, refers to the task
     * that being run.
     */
    do_action_ref_array(sprintf('amazon_polly_background_task_%s', $task), $args);
  }