How to use the command 'strigger' (with examples)
- Linux
- December 25, 2023
The ‘strigger’ command is used to view or modify Slurm trigger information. Triggers are actions that are automatically run when a specific event occurs on a Slurm cluster. This command allows users to register new triggers, execute programs when certain events occur or jobs terminate, view active triggers, and clear specific triggers.
Use case 1: Register a new trigger
strigger --set --primary_database_failure|primary_slurmdbd_failure|primary_slurmctld_acct_buffer_full|primary_slurmctld_failure|... --program=path/to/executable
Motivation: This use case is useful when you want to set up an automatic action to be performed when a specific event occurs on a Slurm cluster. By registering a new trigger, you can specify the event and the program to be executed.
Explanation:
- ‘–set’: This flag is used to register a new trigger.
- ‘–primary_database_failure|primary_slurmdbd_failure|primary_slurmctld_acct_buffer_full|primary_slurmctld_failure|…’: This argument specifies the event for which the trigger should be registered. Users can choose from a variety of events, such as primary database failure, primary SlurmDBD failure, primary Slurmctld accounting buffer full, and primary Slurmctld failure, among others.
- ‘–program=path/to/executable’: This argument specifies the path to the executable program that should be executed when the specified event occurs.
Example output:
New trigger registered for event 'primary_database_failure'. Program '/path/to/executable' will be executed.
Use case 2: Execute program when job terminates
strigger --set --jobid=job_id --fini --program="path/to/executable argument1 argument2 ..."
Motivation: This use case is helpful when you want to automatically execute a program when a specific job terminates. It allows for post-job processing without manual intervention.
Explanation:
- ‘–set’: This flag is used to register a new trigger.
- ‘–jobid=job_id’: This argument specifies the job ID for which the trigger should be registered.
- ‘–fini’: This flag indicates that the trigger should be executed when the specified job terminates.
- ‘–program=“path/to/executable argument1 argument2 …”’: This argument specifies the path to the executable program and any additional arguments that should be executed when the trigger is triggered.
Example output:
New trigger registered for job ID '1234'. Program '/path/to/executable argument1 argument2 ...' will be executed when the job terminates.
Use case 3: View active triggers
strigger --get
Motivation: This use case allows users to check which triggers are currently active on the Slurm cluster. It provides visibility into the registered triggers.
Example output:
Active Triggers:
1. Event: primary_database_failure
Program: /path/to/executable
2. Event: job_terminated
Program: /path/to/executable argument1 argument2
Use case 4: View active triggers for a specific job
strigger --get --jobid=job_id
Motivation: This use case is helpful when you want to see the triggers specifically set up for a particular job. It provides detailed information about the triggers associated with the job.
Explanation:
- ‘–get’: This flag is used to retrieve the active triggers.
- ‘–jobid=job_id’: This argument specifies the job ID for which the triggers should be retrieved.
Example output:
Triggers for Job ID '1234':
1. Event: job_terminated
Program: /path/to/executable argument1 argument2
Use case 5: Clear a specific trigger
strigger --clear trigger_id
Motivation: This use case allows users to remove a specific trigger from the Slurm cluster. It provides the ability to disable triggers that are no longer needed.
Explanation:
- ‘–clear’: This flag is used to clear/remove a specific trigger.
- ’trigger_id’: This argument specifies the ID of the trigger that should be cleared.
Example output:
Trigger '1' cleared successfully.
Conclusion:
The ‘strigger’ command is a powerful tool for managing triggers on a Slurm cluster. With this command, users can register new triggers, execute programs based on events or job terminations, view active triggers, and clear specific triggers. By understanding the various use cases of the command, users can effectively automate actions and improve the efficiency of their Slurm cluster.