Skip to content

Default task wait 2700s; release sonilo 0.21.1 and sonilo-cli 0.20.1 - #48

Merged
steven-panxd merged 2 commits into
mainfrom
fix/default-wait-2700s
Oct 20, 2026
Merged

steven-panxd merged 2 commits into
mainfrom
fix/default-wait-2700s

Conversation

@steven-panxd

Copy link
Copy Markdown
Member

Why

The API server (sonilo-api-dashboard #420) now lets a task wait up to 2400 seconds in fal's queue before it gives up. Before, the limit was 1200 seconds. On 2026-10-20 fal's sfx-v1.0 app was backlogged: 39 SFX tasks failed at the old 1200-second limit, and the requests that did get a runner waited 850–1160 seconds for it.

The SDK's DEFAULT_WAIT_TIMEOUT of 600 seconds gives up even earlier than the server ever did. If a client gives up while the server is still waiting and the task later succeeds, the user is billed for a result they never receive. 2700 seconds is the server's 2400-second queue limit plus time for the generation itself.

What changed

  • src/sonilo/resources/tasks.py: DEFAULT_WAIT_TIMEOUT goes from 600 to 2700, with a comment that ties it to the server's queue limit. Every generate() / tasks.wait() that uses the default picks this up.
  • CLI stems wait: STEMS_WAIT_TIMEOUT was 2400 (the old 600 default plus the 1800-second separation limit), which would now be shorter than the plain default. It is now DEFAULT_WAIT_TIMEOUT + 1800 = 4500, so it is sized the same way as before.
  • CLI video-analysis --timeout and tasks wait --timeout were hard-coded to 600. They now use the SDK constant, and their help text (and proofread's) prints the constant's value instead of a literal "600".
  • The dubbing wait (7200 seconds) is unchanged.
  • Docs that stated the 600-second default or the 2400-second stems wait now say 2700 and 4500: README.md, sonilo-cli/README.md, context7.json, and the text_to_music / video_to_music docstrings.
  • sonilo-cli/tests/test_cli.py: the stems/default timeout assertions now expect 4500 and 2700.

Not changed: the per-request HTTP timeout (_client.DEFAULT_TIMEOUT), the download timeout (types.DOWNLOAD_TIMEOUT), and sonilo-video-kit's own 10-minute ducking wait. No version bump is included; that can go with the next release.

Tests

pytest (359 passed), pytest sonilo-video-kit (53 passed), and pytest sonilo-cli (182 passed), run locally on Python 3.12.

🤖 Generated with Claude Code

The API now lets a task wait up to 2400s in its upstream provider's queue
before giving up, so a 600s client wait abandoned tasks the server was still
working on and would bill for if they succeeded. 2700s is that queue ceiling
plus margin for generation.

The CLI's stems wait keeps its "default wait + 30-minute separation ceiling"
sizing (now 4500s, was 2400s), and `video-analysis --timeout` and
`tasks wait --timeout` now use the SDK constant instead of a hard-coded 600.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@lightsage-app

lightsage-app Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Lightsage docs evals

Waiting for the staging docs URL before running evals.

Lightsage will start the selected PR evals automatically when GitHub reports a successful docs deployment for this PR. This usually happens within 15 minutes.

Commit: 6fcddca
Status: waiting for staging docs URL

…ait)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@steven-panxd steven-panxd changed the title Raise the default task wait from 600s to 2700s Default task wait 2700s; release sonilo 0.21.1 and sonilo-cli 0.20.1 Oct 20, 2026
@steven-panxd
steven-panxd merged commit b9da0cd into main Oct 20, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant