Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Interface ¶
type Interface interface { // Start to serve Start() error // Register multiple jobs. // // jobs map[string]interface{}: job map, key is job name and value is job handler. // // Return: // error if failed to register RegisterJobs(jobs map[string]interface{}) error // Get the worker pool ID // // Return: // string : the pool ID GetPoolID() string // Enqueue job // // jobName string : the name of enqueuing job // params job.Parameters : parameters of enqueuing job // isUnique bool : specify if duplicated job will be discarded // webHook string : the server URL to receive hook events // // Returns: // *job.Stats : the stats of enqueuing job if succeed // error : if failed to enqueue Enqueue(jobName string, params job.Parameters, isUnique bool, webHook string) (*job.Stats, error) // Schedule job to run after the specified interval (seconds). // // jobName string : the name of enqueuing job // runAfterSeconds uint64 : the waiting interval with seconds // params job.Parameters : parameters of enqueuing job // isUnique bool : specify if duplicated job will be discarded // webHook string : the server URL to receive hook events // // Returns: // *job.Stats: the stats of enqueuing job if succeed // error : if failed to enqueue Schedule(jobName string, params job.Parameters, runAfterSeconds uint64, isUnique bool, webHook string) (*job.Stats, error) // Schedule the job periodically running. // // jobName string : the name of enqueuing job // params job.Parameters : parameters of enqueuing job // cronSetting string : the periodic duration with cron style like '0 * * * * *' // isUnique bool : specify if duplicated job will be discarded // webHook string : the server URL to receive hook events // // Returns: // models.JobStats: the stats of enqueuing job if succeed // error : if failed to enqueue PeriodicallyEnqueue(jobName string, params job.Parameters, cronSetting string, isUnique bool, webHook string) (*job.Stats, error) // Return the status info of the worker. // // Returns: // *Stats : the stats info of all running pools // error : failed to check Stats() (*Stats, error) // Check if the job has been already registered. // // name string : name of job // // Returns: // interface{} : the job type of the known job if it's existing // bool : if the known job requires parameters IsKnownJob(name string) (interface{}, bool) ValidateJobParameters(jobType interface{}, params job.Parameters) error // Stop the job // // jobID string : ID of the enqueued job // // Return: // error : error returned if meet any problems StopJob(jobID string) error // Retry the job // // jobID string : ID of the enqueued job // // Return: // error : error returned if meet any problems RetryJob(jobID string) error }
Interface for worker. More like a driver to transparent the lower queue.
type Stats ¶
type Stats struct {
Pools []*StatsData `json:"worker_pools"`
}
Stats represents the healthy and status of all the running worker pools.
type StatsData ¶
type StatsData struct { WorkerPoolID string `json:"worker_pool_id"` StartedAt int64 `json:"started_at"` HeartbeatAt int64 `json:"heartbeat_at"` JobNames []string `json:"job_names"` Concurrency uint `json:"concurrency"` Status string `json:"status"` }
StatsData represents the healthy and status of the worker worker.
Click to show internal directories.
Click to hide internal directories.