镜像自地址
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
这个提交包含在:
@@ -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
|
||||
}
|
||||
|
||||
在新工单中引用
屏蔽一个用户