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 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. |