How to Use#
Configuration#
Lifeblood is made in a way so you can start it with minimum to zero pre-configuration. But even in simplest cases you might will need to adjust something.
Lifeblood’s components will create default configs for themselves on first launch. You can start with default config and adjust it if such need arises.
All components of Lifeblood are configured by a number of configs files, some of those values can be overriden with command-line arguments
To configure your firewalls to allow lifeblood communications - see Network Configuration
Environment Variables#
Most of Lifeblood is configurable through config files and command line arguments, however some runtime adjustments can be done through Environment variables
- LIFEBLOOD_CONFIG_LOCATION:
Base location for all Lifeblood configuration files.
Default value: see Config location
- LIFEBLOOD_DEFAULT_LOG_LEVEL:
sets default log level used by all loggers in Lifeblood components.
Log level values can be:
CRITICAL
,FATAL
,ERROR
,WARNING
,INFO
,DEBUG
Default (when the variable is not set, or is set to an incorrect log level) default Log level is
INFO
- LIFEBLOOD_LOG_LOCATION:
Base location for all Lifeblood logs.
Defaults to a logs subdirectory within config location
- LIFEBLOOD_PLUGIN_PATH:
A list of paths separated by OS-dependent path separator (
:
on linux/mac,;
on windows).Each path is scanned for Lifeblood plugins.
Config location#
Config files are generated and stored in location defined by LIFEBLOOD_CONFIG_LOCATION
environment variable,
by default it’s:
on linux it’s
~
:~/lifeblood
,/home/<username>/lifeblood
(linux)on windows it’s your
Documents
folder:%HOME%/lifeblood
,C:\Users\<username>\Documents\lifeblood
(windows)on mac it’s in
~/Library/Preferences/lifeblood
,/Users/<username>/Library/Preferences/lifeblood
(mac)
In your config location you will find subdirs named after components, and certain component-specific configuration files within.
The main config file in most cases is called config.toml
. It uses toml language.
<config_dir>
Detailed config file description see at:
worker configs
lifeblood
command will be added to PATH.lifeblood scheduler
lifeblood <command> --help
to get reference for each commandHardware Setup#
In this “How To” it’s assumed that you have the simplest and most common individual network setup:
All your computers on the network can directly communicate to each other
- All your computers in the same subnetworkThis is required for broadcasting. To ease the setup scheduler will broadcast it’s address into current subnetwork. Subnetwork targeted broadcasts should be forwarded by routers if needed, but it’s safer (and common) to have all devices connected to the same router.
- All your computers have some shared location accessible from all computers with the same addressThis is a reasonable assumption as most commonly you would want to have uniform access to scenes, textures, models etc from all work machines, and so that
path/to/texture1
leads to the same texture file on all machines In case you have firewall setup - see Network Configuration for details on what ports need to be opened where.
Prepare To Launch#
When a worker started and cannot find configuration for Standard Environment Resolver - it will generate one. It will try it’s best to look in the most common locations for certain software, but any small non-standard obstacle will prevent auto-detection, so it is safer and better to run auto-detection manually and modify generated config if needed.
To perform software auto-detection run lifeblood resolver scan
- this command will just print out generated config,
no files will be written. To write auto-detected configuration to the standard lifeblood’s Config location - run
lifeblood resolver generate
.
To edit configuration file, you might want to check examples in Standard Environment Resolver.
Configuration file is located at Config location /standard_environment_resolver/config.toml
How you fill it depends fully on your workflow, but, for example, in case of houdini, the submitter expects houdini package to look something like this (versions adjusted of course):
[packages."houdini.py3_10"."20.0.506"]
label = "SideFX Houdini 20.0.506"
env.PATH.prepend = "/opt/hfs20.0.506/bin"
Launch#
You will need to launch Lifeblood’s components.
single scheduler
any number of workers
veiwers if needed and as needed
Start a Scheduler#
Starting scheduler is simple:
lifeblood scheduler
- this will start scheduler with all settings taken from configslifeblood --loglevel DEBUG scheduler
- this would start scheduler with loglevel set to verbose DEBUG level. Note that--loglevel
is passed before command, as it’s a general lifeblood flaglifeblood --loglevel DEBUG scheduler --verbosity-pinger INFO
- some subcomponents of scheduler can produce really too much noise in the log, so some of them can be explicitly set to use a different log level.lifeblood --loglevel DEBUG scheduler --verbosity-pinger INFO --db-path /path/to/database.db
- in addition to all said above, here we override database location set in config to use sqlite db file at/path/to/database.db
Start Workers#
Read more in worker documentation
Use Worker Pools instead#
Instead of starting individual workers you will probably want to start some kind of worker pool that will manage workers for you
If you just want to get it started:
lifeblood pool simple
That’s it. This way a “simple” worker pool will be started. it creates new workers as long as no idle workers exist and system has resources left to do work.
You can start individual workers yourself manually with, but simple cases should be covered by the pool
lifeblood worker
Start Viewer#
Viewer is a component that is used to connect to the scheduler and:
see the progress of your tasks
create node graph
manipulate tasks
lifeblood viewer
Viewer is just a user interface, it’s not needed for proper scheduler or worker operation.
You will have to use viewer to set up your Lifeblood task processing node network. By default scheduler with a new database has no nodes, so no tasks can be created.
see tutorials to understand how to work in the viewer