The Grouper Daemon is a command line process that can handle many tasks.
- Grouper daemon has a component called Grouper Loader that can automatically provision Grouper memberships from external SQL sources
- Grouper daemon is a Java Quartz standalone command line application, launched from GSH: gsh -loader
- This daemon is required for all deployments, even if you are not using it to provision Grouper memberships from external SQL sources
- There is a daemon to:
- Disable expired memberships or to enable memberships which are enabled in the future
- Delete old audit and notification logs (configured in grouper-loader.properties)
- Massage the notification logs so they have a sequential index number
- Validate Grouper Rules and mark invalid ones as invalid. (v2.0)
- In the future we will run the daemons in a web application instead of command line
- Notification consumers (callbacks) can be registered as a daemon. Grouper will keep track of which change log number they have successfully processed so the daemons can maintain state across Grouper Loader restarts
- The Grouper Loader keeps database logs in the grouper_loader_log table. These are periodically cleaned out based on configuration
- There is a daily report that can be emailed out to Grouper admin which details the state of the registry and the status of all daemon jobs from the last day
- The PSP changelog provisioning can be enabled as a daemon process (v2.1)
In v2.3+, the daemon is pre-configured to use a database to store job schedules instead of storing them locally in memory.
- By default, the Grouper database is used. These are the grouper_QZ_* tables.
- You can run the daemon on multiple machines and jobs will be spread among them all automatically. Be sure to keep your loader configuration (grouper-loader.properties) the same on all machines.
- If you create a new loader job, you can have it scheduled without restarting the daemon by using an option in the New UI. If you're an admin of the group, under "More actions", there's an option named "Schedule loader process". This option can also be used if you change the loader's schedule.
You can also use the daemon to schedule any custom jobs that you may have. To do so, add the following configuration in grouper-loader.properties:
Starting in Unix:
Stopping: find the process and kill it
See this document to have a unix service which controls the loader
Note: it is also possible to run the loader in another webapp if you like
The long-term roadmap is to have the ability to run the loader in a web services instance or UI instance