enhance messages when blender is not found #104224

Closed
MichaelC wants to merge 6 commits from michael-2:wrn_blender_not_found_improvement into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
2 changed files with 67 additions and 49 deletions
Showing only changes of commit 5ca3e8f45f - Show all commits

View File

@ -38,18 +38,17 @@ variables:
blender:
values:
- platform: linux
value: /home/sybren/Downloads/blenders/blender-3.2.2-release/blender
value: blender
- platform: windows
value: B:\Downloads\blenders\blender-3.2.2-release\blender.exe
value: blender
- platform: darwin
value: /home/sybren/Downloads/blenders/blender-3.2.2-release/blender
value: blender
blenderArgs:
values:
- platform: all
value: -b -y
```
## Creating a Configuration File
The usual way to create a configuration file is simply by starting Flamenco
Manager. If there is no config file yet, it will start the setup assistant to
create one. If for any reasons the setup assistant is not usable for you, you

View File

@ -1,55 +1,74 @@
---
title: Manager Configuration
weight: 3
title: Variables
weight: 2
---
Flamenco Manager reads its configuration from `flamenco-manager.yaml`, located
next to the `flamenco-manager` executable. The previous chapters
([Shared Storage][storage] and [Variables][variables]) also described parts of
that configuration file.
For managing default parameters for Blender and FFmpeg, as well as for
mixed-platform render farms, Flamenco uses *variables*.
[storage]: {{< ref "shared-storage" >}}
[variables]: {{< ref "usage/variables/multi-platform" >}}
Each variable consists of:
## Example Configuration
- Its **name**: just a sequence of letters, like `blender` or `whateveryouwant`.
- Its **values**: per *platform* and *audience*, described below.
This is an example `flamenco-manager.yaml` file:
The variables are configured in `flamenco-manager.yaml`.
Here is an example `blender` variable:
```yaml
_meta:
version: 3
manager_name: Flamenco Manager
database: flamenco-manager.sqlite
listen: :8080
autodiscoverable: true
local_manager_storage_path: ./flamenco-manager-storage
shared_storage_path: /path/to/storage
shaman:
enabled: true
garbageCollect:
period: 24h0m0s
maxAge: 744h0m0s
extraCheckoutPaths: []
task_timeout: 10m0s
worker_timeout: 1m0s
blocklist_threshold: 3
task_fail_after_softfail_count: 3
variables:
blender:
values:
- platform: linux
value: blender
value: /home/sybren/Downloads/blenders/blender-3.2.2-release/blender
- platform: windows
value: blender
value: B:\Downloads\blenders\blender-3.2.2-release\blender.exe
- platform: darwin
value: blender
blenderArgs:
values:
- platform: all
value: -b -y
value: /home/sybren/Downloads/blenders/blender-3.2.2-release/blender
```
The usual way to create a configuration file is simply by starting Flamenco
Manager. If there is no config file yet, it will start the setup assistant to
create one. If for any reasons the setup assistant is not usable for you, you
can use the above example to create `flamenco-manager.yaml` yourself.
Whenever a Worker gets a task that contains `{blender}`, that'll be replaced by
the appropriate value for that worker.
## Platform
**The goal of the variables system is to cater for different platforms.**
Blender will very likely be installed in different locations on Windows and
Linux. It might even require some different parameters for your farm, depending
on the platform. The variables system allows you to configure this.
The platform can be `windows`, `linux`, or `darwin` for macOS. Other platforms
are also allowed, if you happen to use them in your farm.
## Two-way Variables for Mixed-platform Farms
Variables are not just used to point to specific things, like `blender` above.
They can also tell Flamenco that the path `/media/shared/flamenco` on Linux is
the same as `S:\flamenco` on Windows, or `/Volumes/shared/flamenco` on macOS.
This is documented further in [Two-way Variables for Multi-Platform Support][two-way].
## Custom Job Types
This documentation section focuses on pre-existing variables, `blender` and
`blenderArgs`. There is nothing special about these. Apart from being part of
Flamenco's default configuration, that is. When you go the more advanced route
of creating your own [custom job types][jobtypes] you're free to create your own
set of variables to suit your needs.
[jobtypes]: {{< ref "usage/job-types" >}}
[two-way]: {{< ref "usage/variables/multi-platform" >}}
## Advanced: Audience
The audience of a value is who that value is for: `workers`, `users`, or `all`
if there is no difference in value for workers and users.
This is an advanced feature, and was introduced for in-the-cloud render farms.
In such situations, the location where the workers store the rendered frames
might be different from where users go to pick them up.
- `all`: values that are used for all audiences. This is the default, and is
what's used in the above example (because there is no `audience` mentioned).
- `users`: values are used when submitting jobs from Blender and showing them in
the web interface.
- `workers`: values that are used when sending tasks to workers.