The `influxdb3 test schedule_plugin` command tests a schedule plugin. Use this command to verify plugin behavior without creating a trigger. ## Usage ```bash influxdb3 test schedule_plugin [OPTIONS] --database ``` ## Arguments - **FILENAME**: Path to the plugin file. Use the absolute path or the path relative to the current working directory, such as `/.py`. ## Options | Option | Flag | Description | | :----- | :-------------------- | :-------------------------------------------------------------------------------------------- | | `-H` | `--host` | URL of the running {{< product-name >}} server
(default: `http://127.0.0.1:8181`) | | `-d` | `--database` | _({{< req >}})_ Name of the database you want to test the plugin against | | | `--token` | _({{< req >}})_ Authentication token | | | `--input-arguments` | JSON map of key/value pairs to pass as plugin input arguments (for example, `'{"key":"val"}'`)| | | `--schedule` | Cron schedule to simulate when testing the plugin
(default: `* * * * *`) | | | `--cache-name` | Optional cache name to associate with the test | | | `--tls-ca` | Path to a custom TLS certificate authority for self-signed certs | | `-h` | `--help` | Show basic help information | | | `--help-all` | Show all available help options | ### Option environment variables You can use the following environment variables to set command options: | Environment Variable | Corresponding Option | | :------------------------ | :------------------- | | `INFLUXDB3_HOST_URL` | `--host` | | `INFLUXDB3_DATABASE_NAME` | `--database` | | `INFLUXDB3_AUTH_TOKEN` | `--token` | | `INFLUXDB3_TLS_CA` | `--tls-ca` | ## Examples In the examples below, replace the following: - {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: Your target database - {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: Your authentication token - {{% code-placeholder-key %}}`PLUGIN_DIR`{{% /code-placeholder-key %}}: the path to the plugin directory you provided when starting the server - {{% code-placeholder-key %}}`FILENAME`{{% /code-placeholder-key %}}: Plugin file name {{% code-placeholders "(DATABASE|PLUGIN_DIR|FILENAME|AUTH_TOKEN)" %}} ### Test a schedule plugin ```bash influxdb3 test schedule_plugin \ --database DATABASE_NAME \ --token AUTH_TOKEN \ PLUGIN_DIR/FILENAME.py ``` ### Test with input arguments and a custom cron schedule You can pass input arguments to your plugin as key-value pairs and specify a custom cron schedule (using Quartz cron syntax with six fields): ```bash influxdb3 test schedule_plugin \ --host http://localhost:8182 \ --database DATABASE_NAME \ --token AUTH_TOKEN \ --input-arguments threshold=10,unit=seconds \ --schedule "0 0 * * * ?" \ PLUGIN_DIR/FILENAME.py ``` - Pass plugin parameters using `--input-arguments` as comma-separated key=value pairs. - Use `--schedule` to set the plugin’s execution time with a Quartz cron expression. For example, "0 0 * * * ?" runs the plugin at the start of every hour. {{% /code-placeholders %}}