CLI: Running & Testing

Last Updated: 2021-02-08

grouparoo status

$ grouparoo status

Display the status of your Grouparoo cluster

Options:
-t, --timestamps Should timestamps be prepended to each log line?
-j, --json Return data as JSON? Use process.env.GROUPAROO_LOG_LEVEL=alert to disable other messages.
-h, --help display help for command

The status command will produce human-readable output like the following:

┌-- Cluster Status @ 2021-02-25T16:58:12.839Z ---
| Overview
| * Cluster Name: evan's dev cluster / development
| * Total Profiles: 1000
| * Total Groups: 3
|
| Groups
| * People with Email Addresses: 1000 members / newest member: 2021-02-25T05:16:07.928Z
| * A Small Group: 50 members / newest member: 2021-02-25T05:16:07.921Z
| * High Value Customers: 185 members / newest member: 2021-02-25T05:15:44.137Z
|
| Active Runs
| * None
|
| Pending Items
| * Active Runs: 0
| * Pending Profiles: 0 / 1000
| * Pending Imports: 0
| * Pending Exports: 0
└------------------------------------------------

grouparoo sync

$ grouparoo sync <profileProperty>

Sync (import & export) a Profile. You can provide a Profile id or a unique Profile Property

Options:
-p, --property Choose the name of the Property to find the Profile by (i.e.: email_address)
-n, --no-export Skip exporting the profile
-t, --timestamps Should timestamps be prepended to each log line?
-j, --json Return data as JSON? Use process.env.GROUPAROO_LOG_LEVEL=alert to disable other messages.
-h, --help display help for command

Example:
grouparoo sync person@example.com --property email

grouparoo run

$ grouparoo run

Run all Schedules, Runs, Imports and Exports pending in this cluster. Use GROUPAROO_LOG_LEVEL env to set log level.

Options:
-r, --reset [DANGER] Empty the cluster of all Profile data before starting the run? Equivalent to `grouparoo reset data`
-m, --reset-high-watermarks Should we run all Schedules from the beginning?
-s, --run-all-schedules Should we run all Schedules, even those that do not have a recurring time set?
-n, --no-export Skip exporting the profiles
-w, --web Enable the web server during this run?
-t, --timestamps Should timestamps be prepended to each log line?
-h, --help display help for command

The grouparoo run command differs from the grouparoo start command in a few key ways:

  • The grouparoo run command will terminate when there is nothing left to do. You'll see similar status to grouparoo status periodically displayed in the console.
  • The grouparoo run command will run all schedules exactly once. We will not continue to process them as time progresses. You can choose to run non-recurring schedules as well via a flag.

grouparoo start

$ grouparoo start

Run the Grouparoo server. Use GROUPAROO_LOG_LEVEL env to set log level.

Options:
-t, --timestamps Should timestamps be prepended to each log line?
-h, --help display help for command

The grouparoo start command is equivalent to npm start.

grouparoo reset

$ grouparoo reset <mode>

Reset part of this Cluster. Mode can be `cluster` (all data), `data` (imported data) and `cache`

Options:
-c, --confirm Confirm the command
-h, --help display help for command

When running grouparoo reset you provide a mode, either: cluster, data or cache. These same reset actions are available in the UI at /settings/actions

reset:cluster (most dangerous)

  • truncates all tables except those regarding teams/members
  • clears the redis cache
  • clears resque

reset:data

  • truncates "data" tables (profiles, groups, etc) but leaves apps, sources, properties
  • clears the redis cache
  • clears resque

reset:cache (not that dangerous)

  • clears the redis cache
  • clears resque

To use any of the grouparoo reset mode's you will need to also pass --confirm to the command as well.

grouparoo console

$ grouparoo console

Start an interactive REPL session with the api object in-scope

Options:
-t, --timestamps Should timestamps be prepended to each log line?
-h, --help display help for command