wse-1.0.x-dev/modules/wse_task_monitor/src/WorkspaceTaskMonitorInterface.php

modules/wse_task_monitor/src/WorkspaceTaskMonitorInterface.php
<?php

declare(strict_types=1);

namespace Drupal\wse_task_monitor;

use Drupal\workspaces\WorkspaceInterface;

/**
 * Interface for workspace task monitors.
 *
 * Defines the contract for handlers that monitor and track progress of
 * workspace-related tasks such as backups and publishing operations.
 */
interface WorkspaceTaskMonitorInterface {

  /**
   * Creates a task for this handler type.
   *
   * @param \Drupal\workspaces\WorkspaceInterface $workspace
   *   The workspace entity.
   * @param array $context
   *   Additional context for task creation.
   *
   * @return \Drupal\wse_task_monitor\WorkspaceTask
   *   The created task object.
   */
  public function createTask(WorkspaceInterface $workspace, array $context = []): WorkspaceTask;

  /**
   * Gets the current progress of a task from external sources.
   *
   * @param \Drupal\wse_task_monitor\WorkspaceTask $task
   *   The task to get progress for.
   *
   * @return array|null
   *   Array with 'progress' (0-100) and 'message' keys, or NULL if no external
   *   progress.
   */
  public function getTaskProgress(WorkspaceTask $task): ?array;

  /**
   * Performs cleanup when a task completes.
   *
   * @param \Drupal\wse_task_monitor\WorkspaceTask $task
   *   The completed task.
   */
  public function cleanup(WorkspaceTask $task): void;

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc