A Duty is the Butler’s task, an activity that which it performs. Duties are generally scheduled to run at intervals but can also be run manually. If scheduled and the last run hasn’t completed before the next scheduled run, Butler will ignore the next run and notify the person responsible for the duty about this.
Consider the frequency of your duty before setting a schedule. Do you need data every 1 minute, or is every 5 or 10 minutes enough? Since the collectors fetch data from other systems, a high frequency will put a load on these systems, especially relevant with the Database Reader collector as poorly designed queries can cause slow performance in the external application.
Header setup form
Description
- Name – Provide a name for the duty, must be unique
- Description – Duty description
- Service window – If duty should not be triggered in certain service window, for instance when M3 is down for backup, you can select one or more service windows here. Service windows are defined in Administrator -> Service windows
- Started manually – If this radio button is ticked, then the duty can only be trigger manually through Run or Collect command in the duty list
- Please use manual start until you have verified that the Butler can perform the duty without issues or without taking too much time.
- Started scheduled – If this radio button is ticked the trigger schedule must be defined. The scheduling options are self-explanatory.
- Please consider the timing of the schedule – if you are running a heavy query or collecting data from a slow source, then set the interval high enough to allow the duty to finish before the next scheduled run.
- Send errors to – If errors occur when running the duty, this recipient will receive a notification including the duty name, error log and link back the Butler web interface
- Collect if consuming from an empty cache – this option need only be used if you are using the Consume feature where an external service (or Duty cache consumer) collects data from Butler. When ticked, any Consume calls to the duty will automatically Collect (run the duty from start to finish) if a cached result isn’t available. Please see detailed description of concept in Concept – Collect vs Consume.
Adding a module to the duty
At least one module of either type Collector or Publisher needs to be added to the duty to be able to store the duty.
By default, one empty module row is added when creating a duty.
By clicking the “Add” hyperlink, you can add more modules. Repeat the process until you have configured the desired modules.
The modules list shows which modules that are attached to the duty and every module in the duty must have a:
- Name – Module instance name describing the action, i.e. Get failed messages from MEC
- Description – Extended description of the module instance action
- Module – Select relevant module from the dropdown