Documentation
      ¶
    
    
  
    
  
    Index ¶
- type BaseJob
 - type BasePluggable
 - func (b *BasePluggable) Description() (string, error)
 - func (b *BasePluggable) Developer() (string, error)
 - func (b *BasePluggable) PeerPluginJobConf() *config.JSON
 - func (b *BasePluggable) PeerPluginName() string
 - func (b *BasePluggable) PluginConf() *config.JSON
 - func (b *BasePluggable) PluginJobConf() *config.JSON
 - func (b *BasePluggable) PluginName() (string, error)
 - func (b *BasePluggable) SetPeerPluginJobConf(conf *config.JSON)
 - func (b *BasePluggable) SetPeerPluginName(name string)
 - func (b *BasePluggable) SetPluginConf(conf *config.JSON)
 - func (b *BasePluggable) SetPluginJobConf(conf *config.JSON)
 
- type BasePlugin
 - func (b *BasePlugin) Post(ctx context.Context) error
 - func (b *BasePlugin) PostHandler(ctx context.Context, conf *config.JSON) error
 - func (b *BasePlugin) PreCheck(ctx context.Context) error
 - func (b *BasePlugin) PreHandler(ctx context.Context, conf *config.JSON) error
 - func (b *BasePlugin) Prepare(ctx context.Context) error
 
- type BaseTask
 - func (b *BaseTask) Format(format string) string
 - func (b *BaseTask) JobID() int64
 - func (b *BaseTask) SetJobID(jobID int64)
 - func (b *BaseTask) SetTaskCollector(collector TaskCollector)
 - func (b *BaseTask) SetTaskGroupID(taskGroupID int64)
 - func (b *BaseTask) SetTaskID(taskID int64)
 - func (b *BaseTask) TaskCollector() TaskCollector
 - func (b *BaseTask) TaskGroupID() int64
 - func (b *BaseTask) TaskID() int64
 - func (b *BaseTask) Wrapf(err error, format string, args ...interface{}) error
 
- type Job
 - type JobCollector
 - type Pluggable
 - type Plugin
 - type RecordReceiver
 - type RecordSender
 - type Task
 - type TaskCollector
 - type Type
 
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseJob ¶
type BaseJob struct {
	*BasePlugin
	// contains filtered or unexported fields
}
    BaseJob: a fundamental job class that assists and simplifies the implementation of job interfaces
func NewBaseJob ¶
func NewBaseJob() *BaseJob
NewBaseJob: a function or method to acquire a new instance of BaseJob
func (*BaseJob) Collector ¶
func (b *BaseJob) Collector() JobCollector
Collector: a component or system that collects data or information
func (*BaseJob) SetCollector ¶
func (b *BaseJob) SetCollector(collector JobCollector)
SetCollector: a function or method to set or configure a collector
type BasePluggable ¶
type BasePluggable struct {
	// contains filtered or unexported fields
}
    BasePluggable - A basic pluggable interface Used to assist in the implementation of various pluggable interfaces, simplifying their implementation
func NewBasePluggable ¶
func NewBasePluggable() *BasePluggable
NewBasePluggable - Creates a pluggable plugin
func (*BasePluggable) Description ¶
func (b *BasePluggable) Description() (string, error)
Description - Plugin Description, will return an error if description is not present or not a string
func (*BasePluggable) Developer ¶
func (b *BasePluggable) Developer() (string, error)
Developer - Plugin Developer, will return an error if developer is not present or not a string
func (*BasePluggable) PeerPluginJobConf ¶
func (b *BasePluggable) PeerPluginJobConf() *config.JSON
PeerPluginJobConf - Set personalized configuration
func (*BasePluggable) PeerPluginName ¶
func (b *BasePluggable) PeerPluginName() string
PeerPluginName - Corresponding Plugin Name
func (*BasePluggable) PluginConf ¶
func (b *BasePluggable) PluginConf() *config.JSON
PluginConf - Plugin Configuration
func (*BasePluggable) PluginJobConf ¶
func (b *BasePluggable) PluginJobConf() *config.JSON
PluginJobConf - Working Configuration
func (*BasePluggable) PluginName ¶
func (b *BasePluggable) PluginName() (string, error)
PluginName - Plugin Name, will return an error if name is not present or not a string
func (*BasePluggable) SetPeerPluginJobConf ¶
func (b *BasePluggable) SetPeerPluginJobConf(conf *config.JSON)
SetPeerPluginJobConf - Sets the corresponding peer plugin's working configuration
func (*BasePluggable) SetPeerPluginName ¶
func (b *BasePluggable) SetPeerPluginName(name string)
SetPeerPluginName - Sets the corresponding peer plugin name
func (*BasePluggable) SetPluginConf ¶
func (b *BasePluggable) SetPluginConf(conf *config.JSON)
SetPluginConf - Sets the plugin configuration
func (*BasePluggable) SetPluginJobConf ¶
func (b *BasePluggable) SetPluginJobConf(conf *config.JSON)
SetPluginJobConf - Sets the plugin's working configuration
type BasePlugin ¶
type BasePlugin struct {
	*BasePluggable
}
    BasePlugin: a fundamental plugin class that assists and simplifies the implementation of plugins
func NewBasePlugin ¶
func NewBasePlugin() *BasePlugin
NewBasePlugin: a function or method to create a new instance of BasePlugin
func (*BasePlugin) Post ¶
func (b *BasePlugin) Post(ctx context.Context) error
Post: an empty method for post-notification
func (*BasePlugin) PostHandler ¶
PostHandler: an empty method for post-notification processing
func (*BasePlugin) PreCheck ¶
func (b *BasePlugin) PreCheck(ctx context.Context) error
PreCheck: an empty method for pre-checking
func (*BasePlugin) PreHandler ¶
PreHandler: an empty method for preprocessing
type BaseTask ¶
type BaseTask struct {
	*BasePlugin
	// contains filtered or unexported fields
}
    BaseTask - A basic task that assists and simplifies the implementation of task interfaces
func (*BaseTask) SetTaskCollector ¶
func (b *BaseTask) SetTaskCollector(collector TaskCollector)
SetTaskCollector - Sets the task information collector
func (*BaseTask) SetTaskGroupID ¶
SetTaskGroupID - Sets the unique identifier for a group of tasks
func (*BaseTask) TaskCollector ¶
func (b *BaseTask) TaskCollector() TaskCollector
TaskCollector - Collects information related to tasks
func (*BaseTask) TaskGroupID ¶
TaskGroupID - The unique identifier for a group of tasks
type Job ¶
type Job interface {
	Plugin
	// Job ID: a unique identifier for a job
	JobID() int64
	// Set Job ID: a function or method to set the ID of a job
	SetJobID(jobID int64)
	Collector() JobCollector   // todo: The job collector is currently not in use
	SetCollector(JobCollector) // todo: The function or method to set the job collector is currently not in use
}
    Job: a unit of work
type JobCollector ¶
JobCollector: a work information collector used to collect the progress, error messages, and other information of the entire job. toto: The monitoring module is currently not implemented, so the structure of this interface needs to be implemented later.
type Pluggable ¶
type Pluggable interface {
	// Plugin Developer, generally written in the plugin configuration
	Developer() (string, error)
	// Plugin Description, generally written in the plugin configuration
	Description() (string, error)
	// Plugin Name, generally written in the plugin configuration
	PluginName() (string, error)
	/* Plugin Configuration, basic configuration is as follows, the rest can be customized according to individual needs
	{
		"name" : "mysqlreader",
		"developer":"Breeze0806",
		"description":"use github.com/go-sql-driver/mysql. database/sql DB execute select sql, retrieve data from the ResultSet. warn: The more you know about the database, the less problems you encounter."
	}
	*/
	PluginConf() *config.JSON
	// Plugin Working Configuration
	PluginJobConf() *config.JSON
	// Corresponding Plugin Name (for Writer, it's Reader; for Reader, it's Writer)
	PeerPluginName() string
	// Corresponding Plugin Configuration (for Writer, it's Reader; for Reader, it's Writer)
	PeerPluginJobConf() *config.JSON
	// Set Working Plugin
	SetPluginJobConf(conf *config.JSON)
	// Set Corresponding Plugin Configuration (for Writer, it's Reader; for Reader, it's Writer)
	SetPeerPluginJobConf(conf *config.JSON)
	// Set Corresponding Plugin Name (for Writer, it's Reader; for Reader, it's Writer)
	SetPeerPluginName(name string)
	// Set Plugin Configuration
	SetPluginConf(conf *config.JSON)
	// Initialize Plugin, needs to be implemented by the implementer according to their needs
	Init(ctx context.Context) error
	// Destroy Plugin, needs to be implemented by the implementer according to their needs
	Destroy(ctx context.Context) error
}
    Pluggable - A pluggable interface
type Plugin ¶
type Plugin interface {
	Pluggable
	// PreCheck: a pre-processing check or verification step
	PreCheck(ctx context.Context) error
	// Prepare: a preparation step before the main operation
	Prepare(ctx context.Context) error
	// PostNotification: a notification step after the main operation
	Post(ctx context.Context) error
	// PreHandler: preprocessing, todo: currently not in use
	PreHandler(ctx context.Context, conf *config.JSON) error
	// PostHandler: post-notification processing, todo: currently not in use
	PostHandler(ctx context.Context, conf *config.JSON) error
}
    Plugin: an extension or add-on component
type RecordReceiver ¶
type RecordReceiver interface {
	GetFromReader() (element.Record, error) // Reads records from the reader
	Shutdown() error                        // Closes the receiver
}
    RecordReceiver - A component that receives records
type RecordSender ¶
type RecordSender interface {
	CreateRecord() (element.Record, error)  // Create Record
	SendWriter(record element.Record) error // Send Record to Writer
	Flush() error                           // Refresh Record to Record Sender
	Terminate() error                       // Terminate Transmission Signal
	Shutdown() error                        // Close
}
    RecordSender: Record Sender
type Task ¶
type Task interface {
	Plugin
	// Task Information Collector, todo: not currently used
	TaskCollector() TaskCollector
	// Set Task Information Collector, todo: not currently used
	SetTaskCollector(collector TaskCollector)
	// Job ID
	JobID() int64
	// Set Job ID
	SetJobID(jobID int64)
	// Task Group ID
	TaskGroupID() int64
	// Set Task Group ID
	SetTaskGroupID(taskGroupID int64)
	// Task ID
	TaskID() int64
	// Set Task ID
	SetTaskID(taskID int64)
	// Wrap Error
	Wrapf(err error, format string, args ...interface{}) error
	// Format - Log format
	Format(format string) string
}
    Task - An interface for representing tasks
type TaskCollector ¶
type TaskCollector interface {
	CollectDirtyRecordWithError(record element.Record, err error)
	CollectDirtyRecordWithMsg(record element.Record, msgErr string)
	CollectDirtyRecord(record element.Record, err error, msgErr string)
	CollectMessage(key string, value string)
}
    TaskCollector: a component or system that collects task information todo: currently not in use