faq on worker not finding blender #104225

Closed
MichaelC wants to merge 12 commits from michael-2/flamenco:faq_wrn_blender_not_found into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
Showing only changes of commit 3997d781cd - Show all commits

View File

@ -1,74 +1,55 @@
--- ---
title: Variables title: Manager Configuration
weight: 2 weight: 3
--- ---
For managing default parameters for Blender and FFmpeg, as well as for Flamenco Manager reads its configuration from `flamenco-manager.yaml`, located
mixed-platform render farms, Flamenco uses *variables*. next to the `flamenco-manager` executable. The previous chapters
([Shared Storage][storage] and [Variables][variables]) also described parts of
that configuration file.
Each variable consists of: [storage]: {{< ref "shared-storage" >}}
[variables]: {{< ref "usage/variables/multi-platform" >}}
- Its **name**: just a sequence of letters, like `blender` or `whateveryouwant`. ## Example Configuration
- Its **values**: per *platform* and *audience*, described below.
The variables are configured in `flamenco-manager.yaml`. This is an example `flamenco-manager.yaml` file:
Here is an example `blender` variable:
```yaml ```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: variables:
blender: blender:
values: values:
- platform: linux - platform: linux
value: /home/sybren/Downloads/blenders/blender-3.2.2-release/blender value: blender
- platform: windows - platform: windows
value: B:\Downloads\blenders\blender-3.2.2-release\blender.exe value: blender
- platform: darwin - platform: darwin
value: /home/sybren/Downloads/blenders/blender-3.2.2-release/blender value: blender
blenderArgs:
values:
- platform: all
value: -b -y
``` ```
Whenever a Worker gets a task that contains `{blender}`, that'll be replaced by The usual way to create a configuration file is simply by starting Flamenco
the appropriate value for that worker. 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
## Platform can use the above example to create `flamenco-manager.yaml` yourself.
**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.