mirror of
https://github.com/tuna/tunasync.git
synced 2025-04-21 04:42:46 +00:00
49 lines
985 B
Go
49 lines
985 B
Go
package worker
|
|
|
|
type rsyncConfig struct {
|
|
name string
|
|
upstreamURL, password, excludeFile string
|
|
workingDir, logDir, logFile string
|
|
useIPv6 bool
|
|
interval int
|
|
}
|
|
|
|
// An RsyncProvider provides the implementation to rsync-based syncing jobs
|
|
type rsyncProvider struct {
|
|
baseProvider
|
|
rsyncConfig
|
|
}
|
|
|
|
func newRsyncProvider(c rsyncConfig) (*rsyncProvider, error) {
|
|
// TODO: check config options
|
|
provider := &rsyncProvider{
|
|
baseProvider: baseProvider{
|
|
name: c.name,
|
|
ctx: NewContext(),
|
|
interval: c.interval,
|
|
},
|
|
rsyncConfig: c,
|
|
}
|
|
|
|
provider.ctx.Set(_WorkingDirKey, c.workingDir)
|
|
provider.ctx.Set(_LogDirKey, c.logDir)
|
|
provider.ctx.Set(_LogFileKey, c.logFile)
|
|
|
|
return provider, nil
|
|
}
|
|
|
|
// TODO: implement this
|
|
func (p *rsyncProvider) Run() {
|
|
|
|
}
|
|
|
|
// TODO: implement this
|
|
func (p *rsyncProvider) Terminate() {
|
|
|
|
}
|
|
|
|
// TODO: implement this
|
|
func (p *rsyncProvider) Hooks() {
|
|
|
|
}
|