---
name: "sge_calendar_conf"
section: "5"
platform: "linux"
package: "gridengine-common"
version: "8.1.9+dfsg-13.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/sge_calendar_conf"
---

# sge\_calendar\_conf(5)

Grid Engine calendar configuration file format

## 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)](/qconf/1.md) or with the calendar configuration dialog of the graphical user interface [*qmon*(1)](/qmon/1.md).

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)](/sge_types/5.md) 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_intro/1.md), *sge\_\_types*(1), [*qconf*(1)](/qconf/1.md), *queue\_conf*(5).

## COPYRIGHT

See [*sge\_intro*(1)](/sge_intro/1.md) for a full statement of rights and permissions.
