# sec_interp.gui.tasks.drillhole_task module

Task for async drillhole generation.

class sec_interp.gui.tasks.drillhole_task.DrillholeGenerationTask(*args: Any, **kwargs: Any)

  Bases: `QgsTask`

  Background task for generating drillhole traces/intervals.

  This task executes the projection and intersection logic in a separate thread, using only detached data (DTOs) ensuring thread safety.

  __init__(description: str, task_input: DrillholeTaskInput, orchestrator: DrillholeTaskOrchestrator, params: Any) → None

    Initialize the task.

    Parameters:

      - description – Description of the task.

      - task_input – The detached data input DTO.

      - orchestrator – The DrillholeTaskOrchestrator instance.

      - params – Original params for context (backward compatibility).

  error_occurred

    alias of `str`

  finished(is_successful: bool) → None

    Handle task completion on Main Thread.

  finished_with_results

    alias of `object`

  progress_changed

    alias of `float`

  run() → bool

    Execute the task in background thread.

  setProgress(progress: float) → None

    Override to emit signal for UI progress bar.