rsync_provider.go 987 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package worker
  2. type rsyncConfig struct {
  3. name string
  4. upstreamURL, password, excludeFile string
  5. workingDir, logDir, logFile string
  6. useIPv6 bool
  7. interval int
  8. }
  9. // An RsyncProvider provides the implementation to rsync-based syncing jobs
  10. type rsyncProvider struct {
  11. baseProvider
  12. rsyncConfig
  13. }
  14. func newRsyncProvider(c rsyncConfig) (*rsyncProvider, error) {
  15. // TODO: check config options
  16. provider := &rsyncProvider{
  17. baseProvider: baseProvider{
  18. name: c.name,
  19. ctx: NewContext(),
  20. interval: c.interval,
  21. },
  22. rsyncConfig: c,
  23. }
  24. provider.ctx.Set(_WorkingDirKey, c.workingDir)
  25. provider.ctx.Set(_LogDirKey, c.logDir)
  26. provider.ctx.Set(_LogFileKey, c.logFile)
  27. return provider, nil
  28. }
  29. // TODO: implement this
  30. func (p *rsyncProvider) Start() {
  31. }
  32. // TODO: implement this
  33. func (p *rsyncProvider) Terminate() {
  34. }
  35. // TODO: implement this
  36. func (p *rsyncProvider) Hooks() {
  37. }