Task¶
Kiss ATS Task
-
class
kissats.task.BaseTask(task_in=None, global_params_in=None, schema_add=None)¶ Bases:
objectBase task class
Parameters: - task_in (Any) – an object containing the appropriate functions
- global_params_in (dict) – Global dictionary of parameters used to configure the environment. This dictionary will also be passed to the registered task functions.
- schema_add (dict) – additional schema definition to be applied to task params
-
ats_client¶ ATS client class based on BaseATSClient
-
check_ats_valid()¶ check if task is valid for the ATS
-
check_dut_valid()¶ check if task is valid for the DUT
-
check_requires()¶ Verify all requirements for executing the task are met
Returns: True if all requirements are met Return type: bool
-
check_resources_ready()¶ check if all resources are reserved for the task
Returns: True if all resources are ready Return type: bool
-
claim_resources()¶ Claim all reservations
-
global_params¶ Global Parameters to be passed to the task
-
missing_keys¶ Missing parameter dictionary keys
-
name¶ The name of the task. This will be the name tracked and reported by the TaskPack
-
params¶ Run parameters of the task.
see Task Parameters.
-
release_resources()¶ Release all reservations and clear time window
-
reserve_resources()¶ Request reservations for all resources
Returns: True if all resources were reserved Return type: bool
-
resource_delay()¶ delay all resource reservations
Returns: True if all resources are reserved Return type: bool
-
resource_list¶ List of resources needed for task
-
run_task()¶ run the task
If the task module has a task_setup, task_setup will be executed first.
If the task module has a task_teardown, task_teardown will be executed after the task_main function. If the task params key always_teardown is set to True, task_teardown will run regardless of the exit status of task_setup and the run function.
Warning
If the property always_teardown is True, task_teardown will execute even if task_setup or run raise an exception.
-
set_time_window(start_time, end_time)¶ set the expected execution time of the task for reservation planning
Parameters:
-
task_main()¶ The main task
-
task_prereqs¶ prereqs for the task
-
task_setup()¶ Setup action for this task.
-
task_teardown()¶ Teardown action for this task
-
time_estimate¶ estimated total run time
-
time_window¶ Planned execution time
-
class
kissats.task.Task(task_in=None, global_params_in=None, schema_add=None)¶ Bases:
kissats.task.BaseTaska task and it’s parameters
Parameters: - task_in (Any) –
The importable name of the task to run or a module containing the appropriate functions
Note
If a str, should be in package.module format
- global_params_in (dict) – Global dictionary of parameters used to configure the environment. This dictionary will also be passed to all registered task functions.
- schema_add (dict) – (Optional) Additional Cerberus schema definition to be applied to the init_params
-
ats_client¶ Instantiated ATS client class based on BaseATSClient
-
check_ats_valid()¶ check if task is valid for the ATS
If ATS is not specified in global params this method will return True
-
check_dut_valid()¶ check if task is valid for the DUT
If DUT is not specified in global params this method will return True
-
check_requires()¶ Verify all requirements for executing the task are met
Returns: True if all requirements are met
Return type: Raises: MissingTestParamKeyInvalidDutInvalidATSResourceNotReady
-
check_resources_ready()¶ check if all resources are reserved for the task
Returns: - True if an ATS Client is registered and
- all resources are reserved, will also return True if an ATS Client is not registered
Return type: bool
-
claim_resources()¶ Claim all reservations
-
get_params()¶ The parameters for executing the task
-
global_params¶ Global Parameters to be passed to the task
-
missing_keys¶ Missing parameter dictionary keys
-
name¶ The name of the task.
This will be the name tracked and reported by the TaskPack
-
params¶ Run parameters of the task.
This will call get_params on the task module registered, expecting a dict conforming with the Task Parameters.
-
release_resources()¶ Release all reservations and clear time window
-
reserve_resources()¶ Request reservations for all resources
Returns: True if all resources were reserved Return type: bool
-
resource_delay()¶ Delay all resource reservations
Warning
this method will reset the time_window
Returns: True if all resources are reserved Return type: bool
-
resource_list¶ List of resources needed for task
-
run_task()¶ run the task
If the task module has a task_setup, task_setup will be executed first.
If the task module has a task_teardown, task_teardown will be executed after the run function. If the task params key always_teardown is set to True, task_teardown will run regardless of the exit status of task_setup and the run function.
Warning
If the class property always_teardown is True, task_teardown will execute even if task_setup or task_main raise an exception.
-
set_time_window(start_time=None, end_time=None)¶ set the expected execution time of the task for reservation planning
Parameters:
-
task_main()¶ The main task function
-
task_mod¶ Any class, module or duck
Must contain the minimum task execution attributes run and get_params.
Alternately accepts a string and will import the module.
Note
If a string is used, it should be in importable package.module format.
-
task_prereqs¶ prereqs for the task
-
task_setup()¶ Setup action for this task.
-
task_teardown()¶ Teardown action for this task
-
time_estimate¶ estimated total run time
-
time_window¶ Planned execution time
- task_in (Any) –