Advanced configuration
MiGA allows flexible execution using a number of techniques, mainly setting project metadata flags, dataset metadata flags, and through the daemon configuration.
These are some examples of advanced behaviors that can be configured in MiGA
The MiGA CLI includes support for mass-controlled daemons when several MiGA projects are in the same folder using the
miga lair
command.The MiGA Lair will find all the MiGA projects in a folder (or subfolders) and control all the corresponding daemons together:
# Check the current status of all the daemons
miga lair list -p /path/to/folder
# Terminate all the daemons at once
miga lair terminate -p /path/to/folder
# Launch and daemonize a process to keep all daemons running
miga lair start -p /path/to/folder
# See more options
miga lair -h
If your project runs for a long time and you want to be notified by email when it's ready, you can use project hooks:
# First cd to the project folder
cd /path/to/project
# And open the MiGA Console
miga c
In the MiGA Console:
# Set the hook "on_preprocessing_ready" to
# execute a shell command ("run_cmd") consisting of
# sending an email with the project path ("{{project}}")
MiGA::Project.load('.').tap do |p|
p.metadata[:on_preprocessing_ready] = [
['run_cmd', 'echo \'Project ready: {{project}}\' | sendmail [email protected]']
]
end.save
quit
Make sure to change
/path/to/project
to the project path and [email protected]
to the email where you want to receive the notification. Also, note that depending on your sendmail
configuration you might get that email in the spam folder (or flat-out rejected), so make sure to test sendmail
first.Last modified 2yr ago