Documentation ¶
Overview ¶
Package actions provides interfaces to manage tasks and provides default implementation for common actions.
Action are registered by ID during the init phase of each actions' subfolder
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActionsManager ¶
type ActionsManager struct {
// contains filtered or unexported fields
}
func GetActionsManager ¶
func GetActionsManager() *ActionsManager
GetActionsManager provides global access to the default action manager.
func (*ActionsManager) ActionById ¶
func (m *ActionsManager) ActionById(actionId string) (ConcreteAction, bool)
func (*ActionsManager) Register ¶
func (m *ActionsManager) Register(name string, a Concrete)
type Concrete ¶
type Concrete func() ConcreteAction
type ConcreteAction ¶
type ConcreteAction interface { // Unique identifier GetName() string // Pass parameters Init(job *jobs.Job, cl client.Client, action *jobs.Action) error // Run the actual action code Run(ctx context.Context, channels *RunnableChannels, input jobs.ActionMessage) (jobs.ActionMessage, error) }
ConcreteAction is the base interface for pydio actions. All actions must implement this interface.
type ControllableAction ¶
Actions that implement this interface can eventually be stopped and/or paused+resumed
type ProgressProviderAction ¶
type ProgressProviderAction interface {
ProvidesProgress() bool
}
Actions that implement this interface will publish progress updates on the progress channel.
type RunnableChannels ¶
type RunnableChannels struct { // Input Channels Pause chan interface{} Resume chan interface{} Stop chan interface{} // Output Channels Status chan jobs.TaskStatus StatusMsg chan string Progress chan float32 }
RunnableChannels defines the API to communicate with a Runnable via Channels
func (*RunnableChannels) BlockUntilResume ¶
func (r *RunnableChannels) BlockUntilResume(maxPauseTime ...time.Duration) chan interface{}
BlockUntilResume returns a blocking channel that can be inserted anywhere to block execution
type TaskUpdaterDelegateAction ¶
Actions that implement this interface can send their status updates to a parent task
Directories ¶
Path | Synopsis |
---|---|
Package archive provides implementation of actions to work with archive files.
|
Package archive provides implementation of actions to work with archive files. |
Package cmd provides default implementation for command-line-like actions.
|
Package cmd provides default implementation for command-line-like actions. |
Package images provides default implementation of image related tasks.
|
Package images provides default implementation of image related tasks. |
Package scheduler provides default implementation for basic scheduler tasks.
|
Package scheduler provides default implementation for basic scheduler tasks. |
Package tree provides default implementation for tree related tasks.
|
Package tree provides default implementation for tree related tasks. |