Documentation ¶
Index ¶
- Variables
- func WaitTellFinished[T any](job *Job, onStatusComplete chan T, beforeCallingFinish func())
- type Change
- type Changes
- type EventsReporter
- type File
- type GetStatus
- type IFile
- type Job
- func (r *Job) Add(report IFile)
- func (r *Job) All(t ...GetStatus) bool
- func (r *Job) Any(t ...GetStatus) (b bool)
- func (r *Job) Cancel()
- func (r *Job) ClearCalled()
- func (r *Job) ClearStatuses() Job
- func (r *Job) Count(t ...GetStatus) int
- func (r *Job) ETA(t ...GetStatus) time.Duration
- func (r *Job) ElapsedTime() time.Duration
- func (r *Job) EndScan()
- func (r *Job) EnqueueNext() (f IFile, ok bool)
- func (r *Job) Files() []filesSDK.File
- func (r *Job) Find(t GetStatus) (IFile, bool)
- func (r *Job) FindRemoteFile(file IFile) (filesSDK.File, bool, error)
- func (r *Job) Finish()
- func (r *Job) Idle(durations ...time.Duration) bool
- func (r *Job) Init() *Job
- func (r *Job) Job() *Job
- func (r *Job) Percentage(t ...GetStatus) int
- func (r *Job) RegisterFileEvent(callback Reporter, events ...GetStatus)
- func (r *Job) RemainingBytes(t ...GetStatus) int64
- func (r *Job) Reset()
- func (r *Job) Scan()
- func (r *Job) SetEventsReporter(e EventsReporter)
- func (r *Job) SetManager(m *manager.Manager)
- func (r *Job) Start(ignoreCodeStart ...bool)
- func (r *Job) StatusFromError(s IFile, err error)
- func (r *Job) Sub(t ...GetStatus) *Job
- func (r *Job) TotalBytes(t ...GetStatus) int64
- func (r *Job) TransferBytes(t ...GetStatus) int64
- func (r *Job) TransferRate(t ...GetStatus) int64
- func (r *Job) UpdateStatus(status GetStatus, file IFile, err error)
- func (r *Job) UpdateStatusWithBytes(status GetStatus, file IFile, bytesCount int64)
- func (r *Job) Wait()
- func (r *Job) WithContext(ctx context.Context) context.Context
- type Log
- type MashableError
- type Reporter
- type Status
- type Subscriptions
- type UnwrappedError
Constants ¶
This section is empty.
Variables ¶
View Source
var ( Null = Status{"", -1} Indexed = Status{"indexed", 0} Retrying = Status{"retrying", 0} Queued = Status{"queued", 1} Downloading = Status{"downloading", 2} Uploading = Status{"uploading", 2} Skipped = Status{"skipped", 3} Ignored = Status{"ignored", 3} Complete = Status{"complete", 4} Canceled = Status{"canceled", 5} Errored = Status{"errored", 5} Included = []GetStatus{Indexed, Queued, Retrying, Downloading, Uploading, Complete, Canceled, Errored} Excluded = []GetStatus{Skipped, Ignored} Valid = []GetStatus{Indexed, Queued, Retrying, Downloading, Uploading, Complete} Invalid = []GetStatus{Null, Canceled, Errored, Skipped, Ignored} Running = []GetStatus{Downloading, Uploading} Ended = []GetStatus{Complete, Canceled, Errored, Skipped, Ignored} )
Functions ¶
func WaitTellFinished ¶
Types ¶
type EventsReporter ¶
type EventsReporter map[Status][]reporterSettings
func CreateFileEvents ¶ added in v2.0.219
func CreateFileEvents(callback Reporter, events ...GetStatus) EventsReporter
type File ¶
type File struct { StatusName string `json:"status"` TransferBytes int64 `json:"transferred_bytes"` Size int64 `json:"size_bytes"` LocalPath string `json:"local_path"` RemotePath string `json:"remote_path"` EndedAt time.Time `json:"completed_at"` StartedAt time.Time `json:"started_at"` Err error `json:"error"` Id string `json:"-"` Attempts int `json:"attempts"` Mutex *sync.RWMutex `json:"-"` LastByte time.Time `json:"-"` Status `json:"-"` filesSDK.File `json:"-"` *Job `json:"-"` }
func ToStatusFile ¶
type GetStatus ¶ added in v2.0.219
type GetStatus interface {
Status() Status
}
func OnBytesChange ¶ added in v2.0.219
type IFile ¶
type IFile interface { SetStatus(Status, error) StatusChanges() Changes TransferBytes() int64 IncrementTransferBytes(int64) File() filesSDK.File Size() int64 Id() string LocalPath() string RemotePath() string Status() Status LastByte() time.Time EndedAt() time.Time StartedAt() time.Time Err() error Job() *Job }
type Job ¶
type Job struct { Id string *timer.Timer Statuses []IFile Direction direction.Direction LocalPath string RemotePath string Sync bool CodeStart func() context.CancelFunc Params interface{} Client interface{} Config interface{} EventsReporter directory.Type *manager.Manager RetryPolicy interface{} *ignore.GitIgnore Started *lib.Signal Finished *lib.Signal Canceled *lib.Signal Scanning *lib.Signal EndScanning *lib.Signal retryablehttp.Logger RemoteFs fs.FS // contains filtered or unexported fields }
func (*Job) ClearCalled ¶
func (r *Job) ClearCalled()
func (*Job) ClearStatuses ¶
func (*Job) ElapsedTime ¶
func (*Job) EnqueueNext ¶
func (*Job) Percentage ¶
func (*Job) RegisterFileEvent ¶
func (*Job) RemainingBytes ¶
func (*Job) SetEventsReporter ¶
func (r *Job) SetEventsReporter(e EventsReporter)
func (*Job) SetManager ¶
func (*Job) StatusFromError ¶
func (*Job) TotalBytes ¶
func (*Job) TransferBytes ¶
func (*Job) TransferRate ¶
func (*Job) UpdateStatusWithBytes ¶ added in v2.0.219
type MashableError ¶
type MashableError struct {
// contains filtered or unexported fields
}
func (MashableError) Err ¶
func (me MashableError) Err() error
func (MashableError) MarshalJSON ¶
func (me MashableError) MarshalJSON() ([]byte, error)
type Subscriptions ¶
type UnwrappedError ¶
type UnwrappedError struct { OriginalError error // contains filtered or unexported fields }
Click to show internal directories.
Click to hide internal directories.