Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/source/changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ releases are available on [PyPI](https://pypi.org/project/pytask) and
- {pull}`605` improves checks and CI.
- {pull}`609` allows a pending status for tasks. Useful for async backends implemented
in pytask-parallel.
- {pull}`611` removes the initial task execution status from
`pytask_execute_task_log_start`.

## 0.4.7 - 2024-03-19

Expand Down
5 changes: 1 addition & 4 deletions src/_pytask/execute.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
from _pytask.exceptions import ExecutionError
from _pytask.exceptions import NodeLoadError
from _pytask.exceptions import NodeNotFoundError
from _pytask.logging_utils import TaskExecutionStatus
from _pytask.mark import Mark
from _pytask.mark_utils import has_mark
from _pytask.node_protocols import PNode
Expand Down Expand Up @@ -99,9 +98,7 @@ def pytask_execute_build(session: Session) -> bool | None:
@hookimpl
def pytask_execute_task_protocol(session: Session, task: PTask) -> ExecutionReport:
"""Follow the protocol to execute each task."""
session.hook.pytask_execute_task_log_start(
session=session, task=task, status=TaskExecutionStatus.RUNNING
)
session.hook.pytask_execute_task_log_start(session=session, task=task)
try:
session.hook.pytask_execute_task_setup(session=session, task=task)
session.hook.pytask_execute_task(session=session, task=task)
Expand Down
5 changes: 1 addition & 4 deletions src/_pytask/hookspecs.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
import click
from pluggy import PluginManager

from _pytask.logging_utils import TaskExecutionStatus
from _pytask.models import NodeInfo
from _pytask.node_protocols import PNode
from _pytask.node_protocols import PProvisionalNode
Expand Down Expand Up @@ -256,9 +255,7 @@ def pytask_execute_task_protocol(session: Session, task: PTask) -> ExecutionRepo


@hookspec(firstresult=True)
def pytask_execute_task_log_start(
session: Session, task: PTask, status: TaskExecutionStatus
) -> None:
def pytask_execute_task_log_start(session: Session, task: PTask) -> None:
"""Start logging of task execution.

This hook can be used to provide more verbose output during the execution.
Expand Down
9 changes: 4 additions & 5 deletions src/_pytask/live.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@

from _pytask.console import console
from _pytask.console import format_task_name
from _pytask.logging_utils import TaskExecutionStatus
from _pytask.outcomes import CollectionOutcome
from _pytask.outcomes import TaskOutcome
from _pytask.pluginmanager import hookimpl

if TYPE_CHECKING:
from _pytask.logging_utils import TaskExecutionStatus
from _pytask.node_protocols import PTask
from _pytask.reports import CollectionReport
from _pytask.reports import ExecutionReport
Expand Down Expand Up @@ -151,6 +151,7 @@ class LiveExecution:
n_entries_in_table: int
verbose: int
editor_url_scheme: str
initial_status: TaskExecutionStatus = TaskExecutionStatus.RUNNING
sort_final_table: bool = False
n_tasks: int | str = "x"
_reports: list[_ReportEntry] = field(factory=list)
Expand All @@ -170,11 +171,9 @@ def pytask_execute_build(self) -> Generator[None, None, None]:
return result

@hookimpl(tryfirst=True)
def pytask_execute_task_log_start(
self, task: PTask, status: TaskExecutionStatus
) -> bool:
def pytask_execute_task_log_start(self, task: PTask) -> bool:
"""Mark a new task as running."""
self.add_task(new_running_task=task, status=status)
self.add_task(new_running_task=task, status=self.initial_status)
return True

@hookimpl
Expand Down