scheduler

package
v1.16.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DeleteAllCmd = &cobra.Command{
	Use:     "delete-all",
	Aliases: []string{"da", "delall"},
	Short: `Delete all scheduled jobs in the specified namespace of a particular filter.
Accepts a single key as an argument. Deletes all jobs which match the filter key.
`,
	Args: cobra.ExactArgs(1),
	Example: `
dapr scheduler delete-all all
dapr scheduler delete-all app
dapr scheduler delete-all app/my-app-id
dapr scheduler delete-all actor/my-actor-type
dapr scheduler delete-all actor/my-actor-type/my-actor-id
dapr scheduler delete-all workflow
dapr scheduler delete-all workflow/my-app-id
dapr scheduler delete-all workflow/my-app-id/my-workflow-id
`,
	RunE: func(cmd *cobra.Command, args []string) error {
		ctx := signals.Context()
		opts := scheduler.DeleteOptions{
			SchedulerNamespace: schedulerNamespace,
			KubernetesMode:     kubernetesMode,
			DaprNamespace:      daprNamespace,
		}

		return scheduler.DeleteAll(ctx, opts, args[0])
	},
}
View Source
var DeleteCmd = &cobra.Command{
	Use:     "delete",
	Aliases: []string{"d", "del"},
	Short: `Delete one of more jobs from scheduler.
Job names are formatted by their type, app ID, then identifier.
Actor reminders require the actor type, actor ID, then reminder name, separated by /.
Workflow reminders require the app ID, instance ID, then reminder name, separated by /.
Accepts multiple names.
`,
	Args: cobra.MinimumNArgs(1),
	Example: `
dapr scheduler delete app/my-app-id/my-job-name
dapr scheduler delete actor/my-actor-type/my-actor-id/my-reminder-name
dapr scheduler delete workflow/my-app-id/my-instance-id/my-workflow-reminder-name
`,
	RunE: func(cmd *cobra.Command, args []string) error {
		ctx := signals.Context()
		opts := scheduler.DeleteOptions{
			SchedulerNamespace: schedulerNamespace,
			KubernetesMode:     kubernetesMode,
			DaprNamespace:      daprNamespace,
		}

		return scheduler.Delete(ctx, opts, args...)
	},
}
View Source
var GetCmd = &cobra.Command{
	Use:     "get",
	Aliases: []string{"g", "ge"},
	Short: `Get a scheduled app job or actor reminder in Scheduler.
Job names are formatted by their type, app ID, then identifier.
Actor reminders require the actor type, actor ID, then reminder name, separated by /.
Workflow reminders require the app ID, instance ID, then reminder name, separated by /.
Activity reminders require the app ID, activity ID, separated by /.
Accepts multiple names.
`,
	Args: cobra.MinimumNArgs(1),
	Example: `
dapr scheduler get app/my-app-id/my-job-name
dapr scheduler get actor/my-actor-type/my-actor-id/my-reminder-name
dapr scheduler get workflow/my-app-id/my-instance-id/my-workflow-reminder-name
dapr scheduler get activity/my-app-id/xyz::0::1
`,
	RunE: func(cmd *cobra.Command, args []string) error {
		ctx := signals.Context()
		opts := scheduler.GetOptions{
			SchedulerNamespace: schedulerNamespace,
			KubernetesMode:     kubernetesMode,
			DaprNamespace:      daprNamespace,
		}

		var list any
		var err error
		if *getOutputFormat == outputFormatShort {
			list, err = scheduler.Get(ctx, opts, args...)
		} else {
			list, err = scheduler.GetWide(ctx, opts, args...)
		}
		if err != nil {
			return err
		}

		switch *getOutputFormat {
		case outputFormatYAML:
			err = utils.PrintDetail(os.Stdout, "yaml", list)
		case outputFormatJSON:
			err = utils.PrintDetail(os.Stdout, "json", list)
		default:
			var table string
			table, err = gocsv.MarshalString(list)
			if err != nil {
				break
			}

			utils.PrintTable(table)
		}

		if err != nil {
			return err
		}

		return nil
	},
}
View Source
var ListCmd = &cobra.Command{
	Use:   "list",
	Short: "List scheduled jobs in Scheduler.",
	Args:  cobra.NoArgs,
	RunE: func(cmd *cobra.Command, args []string) error {
		ctx := signals.Context()

		opts := scheduler.ListOptions{
			SchedulerNamespace: schedulerNamespace,
			KubernetesMode:     kubernetesMode,
			Filter: scheduler.Filter{
				Type: *listFilterType,
			},
		}
		opts.Filter.Namespace = ptr.Of(daprNamespace)

		var list any
		var empty bool
		switch *listOutputFormat {
		case outputFormatShort:
			ll, err := scheduler.List(ctx, opts)
			if err != nil {
				return err
			}
			empty = len(ll) == 0
			list = ll
		default:
			ll, err := scheduler.ListWide(ctx, opts)
			if err != nil {
				return err
			}
			empty = len(ll) == 0
			list = ll
		}

		if empty {
			print.FailureStatusEvent(os.Stderr, "No jobs found in namespace %q", daprNamespace)
			return nil
		}

		var err error
		switch *listOutputFormat {
		case outputFormatYAML:
			err = utils.PrintDetail(os.Stdout, "yaml", list)
		case outputFormatJSON:
			err = utils.PrintDetail(os.Stdout, "json", list)
		default:
			var table string
			table, err = gocsv.MarshalString(list)
			if err != nil {
				break
			}

			utils.PrintTable(table)
		}

		if err != nil {
			return err
		}

		return nil
	},
}
View Source
var SchedulerCmd = &cobra.Command{
	Use:     "scheduler",
	Short:   "Scheduler management commands. Use -k to target a Kubernetes Dapr cluster.",
	Aliases: []string{"sched"},
}
View Source
var SchedulerExportCmd = &cobra.Command{
	Use:   "export",
	Short: "Export all jobs and actor reminders to a binary file, including the tracked count.",
	Long: `Export jobs and actor reminders which are scheduled in Scheduler.
Can later be imported using 'dapr scheduler import'.
dapr scheduler export -o output.bin
`,
	RunE: func(cmd *cobra.Command, args []string) error {
		ctx := signals.Context()

		err := scheduler.Export(ctx, scheduler.ExportImportOptions{
			SchedulerNamespace: schedulerNamespace,
			KubernetesMode:     kubernetesMode,
			TargetFile:         schedulerExportFile,
		})
		if err != nil {
			return err
		}

		print.InfoStatusEvent(os.Stdout, "Export to '%s' complete.", schedulerExportFile)

		return nil
	},
}
View Source
var SchedulerImportCmd = &cobra.Command{
	Use:   "import",
	Short: "Import all jobs and actor reminders from a binary file generated by 'dapr scheduler export'.",
	Long: `Import jobs and actor reminders to Scheduler from a binary file generated by 'dapr scheduler export'.
dapr scheduler import -f export.bin`,
	Args: cobra.NoArgs,
	RunE: func(cmd *cobra.Command, args []string) error {
		ctx := signals.Context()

		err := scheduler.Import(ctx, scheduler.ExportImportOptions{
			SchedulerNamespace: schedulerNamespace,
			KubernetesMode:     kubernetesMode,
			TargetFile:         schedulerImportFile,
		})
		if err != nil {
			return err
		}

		print.InfoStatusEvent(os.Stdout, "Import from '%s' complete.", schedulerImportFile)

		return nil
	},
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL