Skip to end of metadata
Go to start of metadata

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:
  • 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:

      ################################
      ## Other jobs
      ##
      ## Configure other jobs.
      ## "jobName" is the name of your job.
      ## Class must implement org.quartz.Job.
      ## Priority is optional
      ################################
      
      # otherJob.jobName.class =
      # otherJob.jobName.quartzCron =
      # otherJob.jobName.priority =
      

Starting:

gsh -loader

Starting in Unix:

nohup gsh -loader &

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

See Also

For Grouper Daemon configuration options, see the Daemon section of the Grouper API page.
For info on pruning Daemon logs, see Ongoing Maintenance Tasks

  • No labels