镜像自地址
https://github.com/tuna/tunasync.git
已同步 2025-12-06 06:26:46 +00:00
feature(worker): use cgroup track job process, so that they can be all-killed
这个提交包含在:
@@ -33,6 +33,8 @@ type mirrorProvider interface {
|
||||
Terminate() error
|
||||
// job hooks
|
||||
IsRunning() bool
|
||||
// Cgroup
|
||||
Cgroup() *cgroupHook
|
||||
|
||||
AddHook(hook jobHook)
|
||||
Hooks() []jobHook
|
||||
@@ -63,7 +65,8 @@ type baseProvider struct {
|
||||
|
||||
logFile *os.File
|
||||
|
||||
hooks []jobHook
|
||||
cgroup *cgroupHook
|
||||
hooks []jobHook
|
||||
}
|
||||
|
||||
func (p *baseProvider) Name() string {
|
||||
@@ -117,6 +120,9 @@ func (p *baseProvider) LogFile() string {
|
||||
}
|
||||
|
||||
func (p *baseProvider) AddHook(hook jobHook) {
|
||||
if cg, ok := hook.(*cgroupHook); ok {
|
||||
p.cgroup = cg
|
||||
}
|
||||
p.hooks = append(p.hooks, hook)
|
||||
}
|
||||
|
||||
@@ -124,6 +130,10 @@ func (p *baseProvider) Hooks() []jobHook {
|
||||
return p.hooks
|
||||
}
|
||||
|
||||
func (p *baseProvider) Cgroup() *cgroupHook {
|
||||
return p.cgroup
|
||||
}
|
||||
|
||||
func (p *baseProvider) prepareLogFile() error {
|
||||
if p.LogFile() == "/dev/null" {
|
||||
p.cmd.SetLogFile(nil)
|
||||
|
||||
在新工单中引用
屏蔽一个用户