Documentation
¶
Overview ¶
Package scheduler provides user-managed cron schedules that trigger workflow executions. It generalizes the built-in cron with a schedules table, HTTP API, CLI commands, and a background ticker that evaluates due schedules every 60s.
Index ¶
- func New() plugin.Plugin
- type Plugin
- func (p *Plugin) Info() plugin.PluginInfo
- func (p *Plugin) Init(ctx context.Context, env *plugin.Environment) error
- func (p *Plugin) Migrations() []plugin.Migration
- func (p *Plugin) RegisterCommands() []plugin.Command
- func (p *Plugin) RegisterHostFunctions(scope plugin.FuncRegistry) error
- func (p *Plugin) RegisterRoutes(mux *http.ServeMux) error
- func (p *Plugin) Run(ctx context.Context) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Plugin ¶
type Plugin struct {
// contains filtered or unexported fields
}
Plugin implements user-managed cron schedules with tenant isolation.
func (*Plugin) Info ¶
func (p *Plugin) Info() plugin.PluginInfo
Info returns plugin metadata for discovery and documentation.
func (*Plugin) Migrations ¶
Migrations returns the database schema for the schedules table. Tables are idempotent (IF NOT EXISTS) and safe to run multiple times.
func (*Plugin) RegisterCommands ¶
RegisterCommands returns the CLI subcommands for the scheduler plugin.
func (*Plugin) RegisterHostFunctions ¶
func (p *Plugin) RegisterHostFunctions(scope plugin.FuncRegistry) error
RegisterHostFunctions registers workflow-callable functions for the scheduler plugin. Currently, the scheduler does not expose any host functions to workflows; this method is a no-op that validates the registry is non-nil.