Automattic\WP\Cron_Control\CLI\REST_API::get_queue PHP Метод

get_queue() публичный Метод

Retrieve the current event queue
public get_queue ( $args, $assoc_args )
    public function get_queue($args, $assoc_args)
    {
        // Build and make request
        $queue_request = new \WP_REST_Request('POST', '/' . \Automattic\WP\Cron_Control\REST_API::API_NAMESPACE . '/' . \Automattic\WP\Cron_Control\REST_API::ENDPOINT_LIST);
        $queue_request->add_header('Content-Type', 'application/json');
        $queue_request->set_body(wp_json_encode(array('secret' => \WP_CRON_CONTROL_SECRET)));
        $queue_request = rest_do_request($queue_request);
        // Oh well
        if ($queue_request->is_error()) {
            \WP_CLI::error($queue_request->as_error()->get_error_message());
        }
        // Get the decoded JSON object returned by the API
        $queue_response = $queue_request->get_data();
        // No events, nothing more to do
        if (empty($queue_response['events'])) {
            \WP_CLI::warning(__('No events in the current queue', 'automattic-cron-control'));
            return;
        }
        // Prepare items for display
        $events_for_display = $this->format_events($queue_response['events']);
        $total_events_to_display = count($events_for_display);
        \WP_CLI::line(sprintf(_n('Displaying one event', 'Displaying %s events', $total_events_to_display, 'automattic-cron-control'), number_format_i18n($total_events_to_display)));
        // And reformat
        $format = 'table';
        if (isset($assoc_args['format'])) {
            if ('ids' === $assoc_args['format']) {
                \WP_CLI::error(__('Invalid output format requested', 'automattic-cron-control'));
            } else {
                $format = $assoc_args['format'];
            }
        }
        \WP_CLI\Utils\format_items($format, $events_for_display, array('timestamp', 'action', 'instance', 'scheduled_for', 'internal_event', 'schedule_name', 'event_args'));
    }