imip-agent

Annotated docs/wiki/CronIntegration

1384:9baa0aae5b43
2017-10-31 Paul Boddie Provided a convenience function for instantiating handler objects. Added a mode that produces output instead of sending messages without also producing debugging information. client-editing-simplification
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@1196 7
 * Free/busy collections for all known quotas
paul@1049 8
 * Quota records for all known quota groups
paul@1049 9
paul@1049 10
This file should be copied to the appropriate destination. For example:
paul@1049 11
paul@1049 12
{{{
paul@1049 13
cp conf/cron/cron.daily/imip-agent /etc/cron.daily/
paul@1049 14
}}}
paul@1049 15
paul@1049 16
Where frequency-specific directories are not supported by cron on a system, a
paul@1049 17
`crontab` entry of the appropriate format is required instead.
paul@1049 18
paul@1049 19
== Event Recurrences ==
paul@1049 20
paul@1018 21
The periods defined by recurring events are not all recorded in a user's
paul@1018 22
free/busy collection if such events recur indefinitely. Instead, only the
paul@1018 23
periods within a certain window of time are recorded for such events. As a
paul@1018 24
consequence, free/busy collections need to be progressively expanded over
paul@1018 25
time to include periods that were ignored when previously recording
paul@1018 26
free/busy information for an event.
paul@955 27
paul@955 28
See the [[../EventRecurrences|guide to event recurrences]] for more information
paul@955 29
on how recurring events are supported.
paul@1018 30
paul@1018 31
Responsibility for generating free/busy expansions lies with the
paul@1018 32
`tools/make_freebusy.py` program, which is a general tool that can also
paul@1018 33
reset the free/busy records defined for a user or those made available to a
paul@1196 34
user, as well as the free/busy records defined for a resource quota.
paul@1049 35
paul@1049 36
== Quota Journals ==
paul@1049 37
paul@1049 38
As events are confirmed for resources, where quotas on resources have been
paul@1049 39
imposed, such quotas will be consumed until eventually exhausted, thus
paul@1049 40
preventing future reservations. By expiring records of past events, quotas
paul@1049 41
can effectively be replenished, allowing reservations to be made for future
paul@1049 42
events.
paul@1049 43
paul@1049 44
See the [[../Resources|resources guide]] for more information in imposing
paul@1049 45
quotas on groups of resources.
paul@1049 46
paul@1049 47
Responsibility for updating the quota records lies with the
paul@1049 48
`tools/update_quotas.py` program, which can be used manually to update quota
paul@1049 49
information for the indicated quota groups.