P2::Scheduler - This module helps organizing monthly tests at component level.
use P2::Scheduler; my $scheduler = P2::Scheduler->new( resources => [][], # resources ordered by priority (mandatory) context => ..., # the K8s context label => ..., # a fixed label to be added to each resource name to compose the experiment name action => ..., # a description of what is happening to the resource, it will appear as title weight => [3,2,1], # the weight of each priority, basically how many tests to run for a # given priority (defaults to [3,2,1]) hour_slots => [1,2,3,4,5], # hours of the day at which tests can run (mandatory) spare_days_per_month => 2, # number of business days to leave as spare at the end of the month starting_from => 6, # index of the day of the month to start from (defaults to 1) year => ... # mandatory num_week_days => 3 # number of business days to count starting from Monday, defaults to 5 pri_per_month' => [3,3,3,3,3,3,3,3,3,3,3,3] # an array for the minimum priority to take into consideration when scheduling # experiments for each month. Default to all # priorities for all months. This is meant to be # used in case we want to limit priority 2/3 # experiments only to specific months. selected_week_days => [3,4], # list of business days ids to consider: # 1 => Monday,..., 5 => Friday # for example the string '2,3,4' would set tests to run only # between Tuesdays and Thursdays fixed_intervals => 1 # if experiments times should be strictly scheduled in # fixed intervals or randomly allocated ); # getting the schedule for January... my @schedule = $scheduler->month_schedule(1); # or for the whole year... my @schedule = $scheduler->year_schedule();
Marco Masetti, <marco.masetti at sky.uk>
<marco.masetti at sky.uk>
You can find documentation for this module with the perldoc command.
perldoc P2::Scheduler
Copyright 2020 Marco Masetti.
This program is free software; you can redistribute it and/or modify it under the terms of the the BSD 3-Clause License.
To install P2::Scheduler, copy and paste the appropriate command in to your terminal.
cpanm
cpanm P2::Scheduler
CPAN shell
perl -MCPAN -e shell install P2::Scheduler
For more information on module installation, please visit the detailed CPAN module installation guide.