-
-
Notifications
You must be signed in to change notification settings - Fork 787
Open
Labels
state: needs triageWaiting to be triaged by a maintainer.Waiting to be triaged by a maintainer.
Description
Description
I tried to use task to watch my FastAPI project.
The task script is like (since this project can not automatically kill the process, I used cleanup_port.py to do that):
dev:
deps: [install-dev]
watch: true
sources:
- src/**
- entry.py
cmds:
- uv run python scripts/cleanup_port.py 1460
- uv run python entry.pyMy entry.py points to my main.py, and this is how it look like:
# main.py
import argparse
import uvicorn
from loguru import logger
from .api import app
def main():
parser = argparse.ArgumentParser()
parser.add_argument("--port", type=int, default=1460)
args = parser.parse_args()
logger.info("Starting server on port {}", args.port)
uvicorn.run(app, host="127.0.0.1", port=args.port) # no hot reload hereAnd here is the logs:
> task dev
task: Started watching for tasks: dev
task: Task "install-dev" is up to date
task: [dev] uv run python scripts/cleanup_port.py 1460
2026-02-02 23:54:38.913 | INFO | __main__:kill_port_process:48 - Port 1460 is free, no need to clean
task: [dev] uv run python entry.py
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
2026-02-02 23:54:42.953 | INFO | src.main:main:13 - Starting server on port 1460
INFO: Started server process [19260]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:1460 (Press CTRL+C to quit) # I changed file here
task: Failed to run task "dev": exit status 1
task: Task "install-dev" is up to date
task: [dev] uv run python scripts/cleanup_port.py 1460
2026-02-02 23:55:02.488 | WARNING | __main__:try_kill_process:11 - Killing process 19260 (python.exe)...
2026-02-02 23:55:02.514 | SUCCESS | __main__:kill_port_process:43 - Process 19260 killed successfully
task: [dev] uv run python entry.py
task: Failed to run task "dev": exit status 1
task: Task "install-dev" is up to date
task: Task "install-dev" is up to date
task: [dev] uv run python scripts/cleanup_port.py 1460
task: [dev] uv run python scripts/cleanup_port.py 1460
2026-02-02 23:55:05.070 | INFO | __main__:kill_port_process:48 - Port 1460 is free, no need to clean
2026-02-02 23:55:05.104 | INFO | __main__:kill_port_process:48 - Port 1460 is free, no need to clean
task: [dev] uv run python entry.py
task: [dev] uv run python entry.py
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
2026-02-02 23:55:07.277 | INFO | src.main:main:13 - Starting server on port 1460
INFO: Started server process [16408]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:1460 (Press CTRL+C to quit)
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
2026-02-02 23:55:11.145 | INFO | src.main:main:13 - Starting server on port 1460
INFO: Started server process [20536]
INFO: Waiting for application startup.
INFO: Application startup complete.
ERROR: [Errno 10048] error while attempting to bind on address ('127.0.0.1', 1460): [winerror 10048] only one usage of each socket address (protocol/network address/port) is normally permitted
INFO: Waiting for application shutdown.
INFO: Application shutdown complete.
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
2026-02-02 23:55:11.688 | INFO | src.main:main:13 - Starting server on port 1460
INFO: Started server process [25608]
INFO: Waiting for application startup.
INFO: Application startup complete.
ERROR: [Errno 10048] error while attempting to bind on address ('127.0.0.1', 1460): [winerror 10048] only one usage of each socket address (protocol/network address/port) is normally permitted
INFO: Waiting for application shutdown.
INFO: Application shutdown complete.
task: Failed to run task "dev": exit status 1
task: Failed to run task "dev": exit status 1
task: Signal received: "interrupt"
Version
3.48.0
Operating system
Windows 11 25H2
Experiments Enabled
No response
Example Taskfile
version: '3'
tasks:
install-dev:
sources:
- pyproject.toml
generates:
- .venv/**
cmds:
- uv sync --group dev
dev:
deps: [install-dev]
watch: true
sources:
- src/**
- entry.py
cmds:
- uv run python scripts/cleanup_port.py 1460
- uv run python entry.pyReactions are currently unavailable
Metadata
Metadata
Assignees
Labels
state: needs triageWaiting to be triaged by a maintainer.Waiting to be triaged by a maintainer.