bionic (5) sge_calendar_conf.5.gz

Provided by: gridengine-common_8.1.9+dfsg-7build1_all bug

NAME

       calendar_conf - Grid Engine calendar configuration file format

DESCRIPTION

       calendar_conf  defines  the format of the Grid Engine calendar configuration. The definition of calendars
       is used to specify "on duty" and "off duty" time periods for Grid Engine queues on a time of day, day  of
       week, or day of year basis. Various calendars can be implemented, and the appropriate calendar definition
       for a certain class of jobs can be attached to a queue.

       calendar_conf entries can be added, modified and displayed with the -Acal, -acal, -Mcal, -mcal, -scal and
       -scall  options  to  qconf(1)  or  with the calendar configuration dialog of the graphical user interface
       qmon(1).

       Note that jobs may be dispatched incorrectly into calendar windows which are too  short  unless  resource
       reservation is turned on by setting max_reservation in sched_conf(5).

       Note,  Grid Engine allows backslashes (\) to escape newline characters. The backslash and the newline are
       replaced with a space (" ") character before any interpretation.

FORMAT

       A configuration comprises three lines of this  form,  whose  contents  are  described  in  the  following
       sections:

            calendar_name  calendar_name
            yesr  year
            day  day

   calendar_name
       The  name  of  the  calendar  to  be used when attaching it to queues, or when administering the calendar
       definition. See calendar_name in sge_types(5) for a precise definition of valid calendar names.

   year
       The queue status definition on a day of the year basis. This field generally will specify on  which  days
       of  a year (and optionally at which times on those days) a queue, to which the calendar is attached, will
       change to a certain state. The syntax of the year field is defined as follows:

       year :=
           NONE
           | year_day_range_list=daytime_range_list[=state]
           | year_day_range_list=[daytime_range_list=]state
           | state

       Where

       •  NONE means no definition is made on the year basis;

       •  If a definition is made on the year basis, at least one of year_day_range_list, daytime_range_list and
          state always have to be present;

       •  All day long is assumed if daytime_range_list is omitted;

       •  Switching the queue to "off" (i.e. disabling it) is assumed if state is omitted;

       •  The  queue  is  assumed  to  be  enabled  for  days  neither  referenced  implicitly  (by omitting the
          year_day_range_list) nor explicitly.

       The syntactical components are defined as follows:

         year_day_range_list := {yearday-yearday | yearday},...
         daytime_range_list :=  hour[:minute][:second]-hour[:minute][:second],...
         state :=     on | off | suspended
         year_day :=  month_day.month.year
         month_day := 1 | 2 | ... | 31
         month :=     jan | feb | ... | dec | 1 | 2 | ... | 12
         year :=      1970 | 1971 | ... | 2037

   week
       The queue status definition on a day of the week basis. This field generally will specify on  which  days
       of  the week (and optionally at which times on those days) a queue to which the calendar is attached will
       change to a certain state. The syntax of the week field is defined as follows:

       week:=
           NONE
           | week_day_range_list[=daytime_range_list][=state]
           | [week_day_range_list=]daytime_range_list[=state]
           | [week_day_range_list=][daytime_range_list=]state ...

       where

       •  NONE means, no definition is made on the week basis;

       •  If a definition is made on the week basis, at least one of week_day_range_list, daytime_range_list and
          state always have to be present;

       •  Every day in the week is assumed if week_day_range_list is omitted;

       •  Syntax  and  semantics  of  daytime_range_list and state are identical to the definition given for the
          year field above;

       •  The queue is  assumed  to  be  enabled  for  days  neither  referenced  implicitly  (by  omitting  the
          week_day_range_list) nor explicitly.

       and where week_day_range_list is defined as

         week_day_range_list := {weekday-weekday | weekday},...
         week_day :=  mon | tue | wed | thu | fri | sat | sun

       With week_day ranges the week_day identifiers must be different.

SEMANTICS

       Successive  entries to the year and week fields (separated by blanks) are combined in accordance with the
       following rule:

       •  off areas are overridden by overlapping on and suspended areas and suspended areas are  overridden  by
          on areas.

       Hence an entry of the form

         week  12-18 tue=13-17=on

       means  that  queues  referencing  the  corresponding  calendar  are  disabled  for  the  entire week from
       12.00-18.00, with the exception of Tuesday between 13.00-17.00, when the queues are available.

       •  Area overriding occurs only within a year/week basis. If a year entry exists for a day, then only  the
          year  calendar  is taken into account, and no area overriding is done with a possibly conflicting week
          area.

       •  The second time specification in a daytime_range_list may be before  the  first  one  and  treated  as
          expected. Thus an entry of the form

            year  12.03.2004=12-11=off

          causes the queue(s) be disabled on 12.03.2004 from 00:00:00 - 10:59:59 and 12:00:00 - 23:59:59.

EXAMPLES

       (The following examples are contained in the directory $SGE_ROOT/util/resources/calendars.)

       •  Night, weekend and public holiday calendar:

          On  public holidays "night" queues are explicitly enabled. On working days queues are disabled between
          6.00 and 20.00. Saturday and Sunday are implicitly handled as enabled times:

            calendar_name  night
            year           1.1.1999,6.1.1999,28.3.1999,30.3.1999-
            31.3.1999,18.5.1999-19.5.1999,3.10.1999,25.12.1999,26
            .12.1999=on
            week           mon-fri=6-20

       •  Day calendar:

          On public holidays "day"-queues are disabled. On working days such queues are closed during the  night
          between 20.00 and 6.00, i.e. the queues are also closed on Monday from 0.00 to 6.00 and on Friday from
          20.00 to 24.00. On Saturday and Sunday the queues are disabled.

            calendar_name  day
            year           1.1.1999,6.1.1999,28.3.1999,30.3.1999-
            31.3.1999,18.5.1999-19.5.1999,3.10.1999,25.12.1999,26
            .12.1999
            week           mon-fri=20-6 sat-sun

       •  Night, weekend and public holiday calendar with suspension:

          Essentially the same scenario as the first example but queues are suspended instead of switching  them
          "off".

            calendar_name  night_s
            year           1.1.1999,6.1.1999,28.3.1999,30.3.1999-
            31.3.1999,18.5.1999-19.5.1999,3.10.1999,25.12.1999,26
            .12.1999=on
            week           mon-fri=6-20=suspended

       •  Day calendar with suspension:

          Essentially  the  same  scenario  as the second example, but queues are suspended instead of switching
          them "off".

            calendar_name  day_s
            year           1.1.1999,6.1.1999,28.3.1999,30.3.1999-
            31.3.1999,18.5.1999-19.5.1999,3.10.1999,25.12.1999,26
            .12.1999=suspended
            week           mon-fri=20-6=suspended sat-sun=suspended

       •  Weekend calendar with suspension, ignoring public holidays:

          Settings are only done on the week basis, with no settings on the year basis (keyword "NONE").

            calendar_name  weekend_s
            year           NONE
            week           sat-sun=suspended

SEE ALSO

       sge_intro(1), sge__types(1), qconf(1), queue_conf(5).

       See sge_intro(1) for a full statement of rights and permissions.