Scheduler

From IRON Test Suite
Jump to navigation Jump to search

TASKS LIST

The role of the Scheduler is to create tasks that will automatically run tests triggered to a specific time.
The window displays the list of existing tasks and their current status with several configurable columns
- Task name, Task status, Test name, Data, Selected Robots, Selected Ports, Next run time, Last run time, Last Run Result

Scheduler.png


And the window header, three buttons are available for the test create:

  • The Add button is always available to create a new task.
  • The Edit button is disabled if the task is currently running and specially if the task reflect an immediate run of a test.
  • The Delete button is disabled if the task is currently running.

If a task has already generated result in case of deletion, a message box must propose to delete all results generated by this task.

Three are for the task usage

  • The Start task button permits to run a manual task immediately.
  • The Stop task button will force immediate end of task currently running.
  • The last button function change following the context
    • If the task is finish (DONE, END BY USER,...), the button feature is Reset task. It allows to re-execute the selected task.
    • If the task is IDLE, the button name is Disable Taskand the button will set the task in disable state to prevent task to run.
    • If the selected task is DISABLED, the button name is "Enable Task" and the button will allow to reactivate the task.

The tree last buttons are dedicated for the filtering


TASK EDITION

Edition of an existing task or creation of a new task will display the following dialog:

Task edition.png

TASK

The name of the task, which is unique and the button “Save As” can be used to duplicate a complete task and save it under a new name. If the task name already exists a dialog will ask for a no existing task name.

TEST TASK

Test combo is used to select the test payed during task execution. The verbose flag allows running a test in verbose mode. In such case, all executed lines of the test will generate in the result tab one line of result with all intermediate and temporary values and more generally all information needed to debug the test scenario. In quiet mode (verbose not checked) the scheduler will only generates two lines in the result pane, the START line and the EXIT (cond) FAIL or PASS line (with eventually two lines more for each test ran with the RUN action).

TRIGGER

Trigger is the way to define when the task will be run by the task scheduler service. Five mutually exclusive options are available:

  • Now to define an immediate start when button save is clicked.
  • Manual, to have a task started only by a click on “RUN” button of the task list.
  • Time trigger to define a date and time to start macro. You have to select a time and date of start.
  • After task, to define that the current task will start when another task will end, whatever is the cause of end. You have to select the name of the previous task. When you will save the task the system will check that there is no recursive task selection that will provoke infinite loop. The second task is the child of the mother task.

And an additional condition that can be combined with other triggers:

  • Port Status, to define that the system will wait for a Robot port changes its status to the selected one. The proposed robots and ports lists must be part of the selected test.

If several tasks should run simultaneously on the same port of the same robot the second task must fail with a specific error and message in result tab. (ex:”Robot resource conflict between Task1 and Task2”). This verification must be done in real time when a task has to start. It means each time a task has to be started we must loop on all task already running to check if one of them is not using the same robot port. This check must not be done a posteriori because the duration of a task is not known at the beginning.

A Task pre-processing should check that all variables defined in the Test really exist in the selected Data Collection. If one of them does not exist the task will not run and fail with a syntax error in the Result tab.

OPTIONS

  • Repeat permit to define a number of test iterations inside the same task (Default = 1).
  • Restart data determines after each test iteration if the data collection must be restarted to the first record (checked) or continue to the next record (unchecked). If the record (row) of data collection do not exist (was not previously created by user) for a specific test iteration, the scheduler will loop inside the data collection by restarting to the first row of the data collection. During a test loop the default row of the variables will be increase for each new loop. It means the variable names $VAR inside the test will correspond to the variable row 1 of $VAR for the first loop then the row 2 of $VAR for the second loop and so on. So the context of the general variable name $VAR will change depending of the test loop. On the other hand, the context of the variable named $VAR:1 as a test parameter will never change whatever is the test loop index.
  • Max duration causes the macro or the test to be stopped immediately when the max duration is reached. A specific error is generated in results log. (Default = 0 for infinite duration)