Skip to content

Commit

Permalink
Revert scheduler changes. (#4219)
Browse files Browse the repository at this point in the history
  • Loading branch information
toots authored Nov 23, 2024
1 parent faffb13 commit b18d14a
Show file tree
Hide file tree
Showing 32 changed files with 136 additions and 546 deletions.
2 changes: 0 additions & 2 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,6 @@ New:
- Added `video.canvas` to make it possible to position video elements independently
of the rendered video size ([#3656](https://github.com/savonet/liquidsoap/pull/3656), [blog post](https://www.liquidsoap.info/blog/2024-02-10-video-canvas-and-ai/))
- Added cover manager from an original code by @vitoyucepi (#3651)
- Reworked scheduler queues logic, allow user-defined queues, add options to pick
the queue to send asynchronous tasks to (#4151)
- Added non-interleaved API to `%ffmpeg` encoder, enabled by default when only
one stream is encoded.
- Allow trailing commas in record definition (#3300).
Expand Down
6 changes: 6 additions & 0 deletions doc/content/liq/radiopi.liq
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@ settings.harbor.bind_addrs.set(["0.0.0.0"])
# Verbose logs
log.level.set(4)

# We use the scheduler intensively,
# therefore we create many queues.
settings.scheduler.generic_queues.set(5)
settings.scheduler.fast_queues.set(3)
settings.scheduler.non_blocking_queues.set(3)

# === Settings ===

# The host to request files
Expand Down
5 changes: 0 additions & 5 deletions doc/content/liq/task-example.liq

This file was deleted.

12 changes: 0 additions & 12 deletions doc/content/liq/task-with-queue.liq

This file was deleted.

26 changes: 0 additions & 26 deletions doc/content/migrating.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,32 +76,6 @@ def transition(old, new) =
end
```

### Thread queues

In order to improve issues with complex inter-dependent asynchronous tasks, scheduler queues have been updated.

User-provided named queues can now be created and used to send asynchronous tasks, making it possible to control
concurrency of certain classes of tasks and also to remedy any potential dependency between asynchronous tasks.

Settings for queues have thus changed and now will look like this:

```liquidsoap
# Add a custom queue with 4 workers, increase generic queues to 4:
settings.scheduler.queues.set([
...list.assoc,remove("generic", settings.scheduler.queues()),
("generic", 4),
("custom", 4)
]
```

The `fast` argument of the `thread.run.*` functions has been replaced by `queue`, telling the operator which queue should the
asynchronous tasks sent to.

Likewise, `request.dynamic`, `playlist`, `single` etc. have also been updated to accept a `thread_queue` argument controlling
which asynchronous queue their request resolution tasks should be sent to.

See [the threads page](threads.html) for more details.

### Replaygain

- There is a new `metadata.replaygain` function that extracts the replay gain value in _dB_ from the metadata.
Expand Down
37 changes: 0 additions & 37 deletions doc/content/threads.md

This file was deleted.

Loading

0 comments on commit b18d14a

Please sign in to comment.