Purpose of this tutorial
This tutorial gives an introduction into what the scheduler is, and how it is used. After completing it you will be able to set up simple automated tasks and check that they are working.
The scheduler can be used to automate certain tasks, such as the periodic execution of workflows, and publishing of reports, and is available for Omniscope Team* and Enterprise editions. It can either be accessed from the side bar in the EVO welcome screen (see image to the left). Or from within the Admin environment, which can also be accessed through the same side bar.
*requires Scheduler Add-on
Setting up a simple task
Creating a workflow
Let's assume we have a workflow that reads in some data from a data source, processes it and pushes it into a report which is used to inform stakeholders. In fact, let's create a Project with this workflow:
|We have set up the Currency block to load the current exchange rate between GBP and USD and to publish this information in a report, in order to keep the stakeholders up to date about it.|
|Let's keep this file in a project called Tutorial|
Our goal is now to refresh the report every day, when a new exchange rate is available. For this endeavour, we set up a scheduler task with the simple goal to refresh the currency block at 09:00AM daily.
The scheduler welcome screen
Inside the scheduler, you are welcomed by an empty task list, and various buttons to help you navigate and edit your tasks.
NOTE: All scheduler configurations you make are all unsaved till you click "Save" on the toolbar. While you are creating your tasks, you can test them by clicking on "Execute' button (available for certain actions). However, even if your configuration is not saved, and you click on "Execute" these executions will execute on the server irrespective of whether the configurations have been saved or not.
|The bread crumbs in the upper left allow you to quickly navigate back to a previous configuration dialog. Once we dive deeper into the options, the bread crumbs will follow us and let us keep track of where we are.|
|The buttons in the upper right, allow you to quickly undo or redo changes we have made to settings. They work regardless we have moved into other options, and will simply revert or redo all the previous changes you have made.|
|The buttons just below on the upper right give quick access to resources and logs important to check the health of the scheduler environment. We will not be going into their functionality now and leave that to a more complex tutorial|
Finally, there is the empty task list. We will now create a new task to allow for a daily refresh of the currency block. For this purpose, click on "Add Task". This will immediately create a task named "Task":
The five buttons to the right control task execution and allow you to administer it:
|Controls whether the task is running. A green checkmark indicates that the task should be executed (at a not yet specified time), whereas, when the button is clicked, it turns to red and indicates that the task execution will not be executed.|
|When pressed, forces the task to be executed right now, regardless of when it was scheduled. Great for testing whether task execution and publishing was configured correctly.|
|Downloads the task. Downloaded tasks can be imported through the "Import Tasks" button next to "Add Task" in the task list.|
|Permanently removes the task|
|Duplicates the task|
For now we are interested in giving the task a more suitable name
|For this purpose, we click on "Task", which will open a new sub-menu for task configuration. On the top is an option to change the name|
Next, it is important to specify when and how often to run this task. We want to refresh the currencies every day at 09:00AM, which is what we specify in the "Schedule" section at the bottom
If needed, you can use the "plus" button to add additional times and frequencies, and the "rubbish-bin" button to remove them.
Specifying an action
So far we have created the task, gave it a name and specified when it should run, but we have not specified yet what it should do.
|We can do that in the "Action" section of the task configuration. Pressing "+ Add Action" opens a drop down with all actions that are available to us.|
|For a simple iox refresh, we are going to use Project (IOX) action. If instead of an iox you were using an older iok file you would choose "IOK file action", which serves a similar purpose.|
Configuring an action
After creating the action, we see it in the list. Pressing "Project (IOX file) action" brings us one level deeper into the configuration and allows us to specify what the action should do.
The breadcrumbs reflect this and should now look like this:
|It is now time to give the action a more appropriate name. We'll call it "Refresh currencies block"|
Furthermore, we need to define on which iox the action will be performed. This can be done in "Choose project file", where we choose the previously created Tutorial.iox:
Next, we need to specify the actual action that we are going to perform. We do so by pressing "+ Add File Action" at the very bottom.
|We choose Execute blocks as the action type|
As you will have seen, an "Execute blocks" action was added to the File Actions list. Clicking on "Execute blocks" in the list brings us yet one level of configuration deeper.
|We rename the action "Execute currency block"|
|and we select the Currency block as the block which should be re-executed.|
|It is important to note that for this purpose we need to have "Re-execute everything" checked. If it is checked, the currency block will be forced to be re-executed, and therefore its data refreshed. If not, then the block will only be executed if there's no previous data present.|
Testing execution of the task
If not already done so, save all the changes we have made by pressing the blue "Save Changes" button in the upper right.
Now click within the breadcrumbs on the "Scheduler Config". It will bring you directly to the list of tasks where you see our fully configured "Currency rate refresh".
We will now manually simulate what happens when the scheduler triggers execution of our task.
|For this purpose we press the "run" button|
After confirming that we indeed want to execute the task, we see a dialog that keeps us up to date with the progress of the execution. In the end, we should see a green "Execution success" if everything went right:
|In case things didn't go right then the blocks in the workflow couldn't be correctly executed. You would then need to open the iox to have a look at the workflow in order to determine what went wrong. Another option when trouble-shooting is to check the Scheduler logs and get more detailed diagnostics about the status of each task.|
We have successfully configured a task, and an iox file action to periodically refresh a specific block in a workflow so that an attached report is guaranteed to have up-to-date data at its disposal. The tasks and actions were appropriately named and a time specified that served our purpose. Furthermore we have checked the execution of the workflow within the scheduler application to ensure everything will go well once the scheduler triggers execution of the task for the first time.