pjkm.core.tasks.base

Base task interface and decorator for lightweight task registration.

Classes

BaseTask

Abstract base class for all pjkm tasks.

Module Contents

class pjkm.core.tasks.base.BaseTask[source]

Bases: abc.ABC

Abstract base class for all pjkm tasks.

id: str[source]
phase: pjkm.core.models.task.Phase[source]
depends_on: list[str] = [][source]
description: str = ''[source]
should_run(ctx)[source]

Override to conditionally skip this task based on context.

Parameters:

ctx (pjkm.core.engine.task_context.TaskContext)

Return type:

bool

abstractmethod execute(ctx)[source]

Run the task and return its result.

Parameters:

ctx (pjkm.core.engine.task_context.TaskContext)

Return type:

pjkm.core.models.task.TaskResult

skip_result()[source]

Return a skip result for this task.

Return type:

pjkm.core.models.task.TaskResult

success_result(message='', files_created=None, files_modified=None, duration_ms=0.0)[source]
Parameters:
Return type:

pjkm.core.models.task.TaskResult

failure_result(message, duration_ms=0.0)[source]
Parameters:
Return type:

pjkm.core.models.task.TaskResult