CALENDAR_CONF(5)
π CALENDAR_CONF β the Grid Engine calendar config file format, bestie edition π
okay so you know how you're gonna meet calendar_conf in your Grid Engine era? yeah. this is that file. let's get into it β¨
πΈ NAME πΈ
calendar_conf β the Grid Engine calendar configuration file format. it's giving "when is my queue on duty and when is it off duty" energy, and honestly? iconic.
π¦ DESCRIPTION π¦
so calendar_conf defines the format of the Grid Engine calendar configuration. the whole point of defining calendars is 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. you can implement all sorts of different calendars, and you can attach the calendar definition that matches a certain class of jobs to a queue. slay. π
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). pick your fighter. π«Ά
β οΈ note bestie: jobs may be dispatched incorrectly into calendar windows which are too short unless resource reservation is turned on by settingmax_reservationinsched_conf(5). not a vibe. turn it on.
π also note, Grid Engine allows backslashes (\) to escape newline characters. the backslash and the newline are replaced with a space (" ") character before any interpretation. so like, before anything even looks at it. periodt.
β¨ 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
(yes, yesr is literally written like that. we don't fix it, we just report it. π)
π 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. iykyk. π
π 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:
NONEmeans 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_listandstatealways have to be present; - all day long is assumed if
daytime_range_listis omitted; - switching the queue to "off" (i.e. disabling it) is assumed if
stateis 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:
NONEmeans, 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_listandstatealways have to be present; - every day in the week is assumed if
week_day_range_listis omitted; - syntax and semantics of
daytime_range_listandstateare identical to the definition given for theyearfield 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
π withweek_dayranges theweek_dayidentifiers must be different. nomon-mon, we're not doing that.
π₯ 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. the main character of the week is Tuesday, basically. π
- area overriding occurs only within a year/week basis. if a
yearentry exists for a day, then only the year calendar is taken into account, and no area overriding is done with a possibly conflictingweekarea. so don't expect them to talk to each other. π - the second time specification in a
daytime_range_listmay 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. it wraps around and it ate. π
π EXAMPLES π
(the following examples are contained in the directory $SGE_ROOT/util/resources/calendars.) go look, they're all there, fr fr.
- 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).
π COPYRIGHT π
see sge_intro(1) for a full statement of rights and permissions. π
okay that's the whole page bestie, go forth and schedule responsibly π§β¨
this was brought to you by SGE 8.1.3pre, dated $Date: 2007-09-27 14:02:27 $, and yeah, the manual page name is CALENDAR_CONF(5) in case you forgot where you were. mwah. ππ¦πΈ
π¦ where this page comes from
- debian bookworm: gridengine-common 8.1.9+dfsg-10 Β· SISSL
- debian trixie: gridengine-common 8.1.9+dfsg-13.1 Β· SISSL
- ubuntu jammy: gridengine-common 8.1.9+dfsg-10build1 Β· SISSL
- ubuntu noble: gridengine-common 8.1.9+dfsg-11build3 Β· SISSL
- ubuntu questing: gridengine-common 8.1.9+dfsg-13.1
- ubuntu resolute: gridengine-common 8.1.9+dfsg-13.2 Β· SISSL
- ubuntu stonking: gridengine-common 8.1.9+dfsg-13.2ubuntu1 Β· SISSL
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms