mirror of
https://github.com/ayflying/p2p.git
synced 2026-03-05 01:39:23 +00:00
增加分布式更新方法
This commit is contained in:
36
internal/service/system.go
Normal file
36
internal/service/system.go
Normal file
@@ -0,0 +1,36 @@
|
||||
// ================================================================================
|
||||
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
// You can delete these comments if you wish manually maintain this interface file.
|
||||
// ================================================================================
|
||||
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
)
|
||||
|
||||
type (
|
||||
ISystem interface {
|
||||
Init()
|
||||
Update(ctx context.Context) (err error)
|
||||
// RestartSelf 实现 Windows 平台下的程序自重启
|
||||
RestartSelf() error
|
||||
// RenameRunningFile 重命名正在运行的程序文件(如 p2p.exe → p2p.exe~)
|
||||
RenameRunningFile(exePath string) (string, error)
|
||||
}
|
||||
)
|
||||
|
||||
var (
|
||||
localSystem ISystem
|
||||
)
|
||||
|
||||
func System() ISystem {
|
||||
if localSystem == nil {
|
||||
panic("implement not found for interface ISystem, forgot register?")
|
||||
}
|
||||
return localSystem
|
||||
}
|
||||
|
||||
func RegisterSystem(i ISystem) {
|
||||
localSystem = i
|
||||
}
|
||||
Reference in New Issue
Block a user