1
0
镜像自地址 https://github.com/tuna/tunasync.git 已同步 2025-12-06 22:46:47 +00:00

refactor(worker): change provider's Run method to Start, and change logfile handling

这个提交包含在:
bigeagle
2016-04-22 20:59:43 +08:00
父节点 276ab233c5
当前提交 0e808a449a
共有 5 个文件被更改,包括 23 次插入21 次删除

查看文件

@@ -20,6 +20,7 @@ type cmdProvider struct {
cmdConfig
command []string
cmd *cmdJob
logFile *os.File
}
func newCmdProvider(c cmdConfig) (*cmdProvider, error) {
@@ -46,10 +47,7 @@ func newCmdProvider(c cmdConfig) (*cmdProvider, error) {
return provider, nil
}
func (p *cmdProvider) InitRunner() {
}
func (p *cmdProvider) Run() error {
func (p *cmdProvider) Start() error {
env := map[string]string{
"TUNASYNC_MIRROR_NAME": p.Name(),
"TUNASYNC_WORKING_DIR": p.WorkingDir(),
@@ -65,13 +63,16 @@ func (p *cmdProvider) Run() error {
if err != nil {
return err
}
// defer logFile.Close()
p.logFile = logFile
p.cmd.SetLogFile(logFile)
return p.cmd.Start()
}
func (p *cmdProvider) Wait() error {
if p.logFile != nil {
defer p.logFile.Close()
}
return p.cmd.Wait()
}
@@ -79,6 +80,9 @@ func (p *cmdProvider) Terminate() error {
if p.cmd == nil {
return errors.New("provider command job not initialized")
}
if p.logFile != nil {
defer p.logFile.Close()
}
err := p.cmd.Terminate()
return err
}