镜像自地址
https://github.com/tuna/tunasync.git
已同步 2025-12-06 14:36:47 +00:00
feature(worker): framework of mirror provider
这个提交包含在:
48
worker/rsync_provider.go
普通文件
48
worker/rsync_provider.go
普通文件
@@ -0,0 +1,48 @@
|
||||
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() {
|
||||
|
||||
}
|
||||
在新工单中引用
屏蔽一个用户