imip-agent

Annotated docs/wiki/CronIntegration

1049:1fc5f34543dc
2016-02-08 Paul Boddie Added support for quota expiry so that past events do not consume quotas.
paul@955 1
= Cron Task Scheduler Integration =
paul@955 2
paul@1049 3
The `conf/cron/cron.daily/imip-agent` file contains commands that update
paul@1049 4
the following:
paul@1049 5
paul@1049 6
 * Free/busy collections for all known users
paul@1049 7
 * Quota records for all known quota groups
paul@1049 8
paul@1049 9
This file should be copied to the appropriate destination. For example:
paul@1049 10
paul@1049 11
{{{
paul@1049 12
cp conf/cron/cron.daily/imip-agent /etc/cron.daily/
paul@1049 13
}}}
paul@1049 14
paul@1049 15
Where frequency-specific directories are not supported by cron on a system, a
paul@1049 16
`crontab` entry of the appropriate format is required instead.
paul@1049 17
paul@1049 18
== Event Recurrences ==
paul@1049 19
paul@1018 20
The periods defined by recurring events are not all recorded in a user's
paul@1018 21
free/busy collection if such events recur indefinitely. Instead, only the
paul@1018 22
periods within a certain window of time are recorded for such events. As a
paul@1018 23
consequence, free/busy collections need to be progressively expanded over
paul@1018 24
time to include periods that were ignored when previously recording
paul@1018 25
free/busy information for an event.
paul@955 26
paul@955 27
See the [[../EventRecurrences|guide to event recurrences]] for more information
paul@955 28
on how recurring events are supported.
paul@1018 29
paul@1018 30
Responsibility for generating free/busy expansions lies with the
paul@1018 31
`tools/make_freebusy.py` program, which is a general tool that can also
paul@1018 32
reset the free/busy records defined for a user or those made available to a
paul@1018 33
user.
paul@1049 34
paul@1049 35
== Quota Journals ==
paul@1049 36
paul@1049 37
As events are confirmed for resources, where quotas on resources have been
paul@1049 38
imposed, such quotas will be consumed until eventually exhausted, thus
paul@1049 39
preventing future reservations. By expiring records of past events, quotas
paul@1049 40
can effectively be replenished, allowing reservations to be made for future
paul@1049 41
events.
paul@1049 42
paul@1049 43
See the [[../Resources|resources guide]] for more information in imposing
paul@1049 44
quotas on groups of resources.
paul@1049 45
paul@1049 46
Responsibility for updating the quota records lies with the
paul@1049 47
`tools/update_quotas.py` program, which can be used manually to update quota
paul@1049 48
information for the indicated quota groups.