Skip to content

Commit e72e8ce

Browse files
committed
enhance(upgrader): restart main proc manually and gracefully
1 parent 31bbab7 commit e72e8ce

File tree

3 files changed

+7
-12
lines changed

3 files changed

+7
-12
lines changed

api/system/upgrade.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ func PerformCoreUpgrade(c *gin.Context) {
139139
return
140140
}
141141

142-
// bye, overseer will restart nginx-ui
142+
// bye, will restart nginx-ui in performCoreUpgrade
143143
err = u.PerformCoreUpgrade(tarName)
144144
if err != nil {
145145
_ = ws.WriteJSON(CoreUpgradeResp{

internal/upgrader/upgrade.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"github.com/0xJacky/Nginx-UI/internal/helper"
88
"github.com/0xJacky/Nginx-UI/internal/logger"
99
"github.com/0xJacky/Nginx-UI/settings"
10+
"github.com/jpillora/overseer"
1011
"github.com/minio/selfupdate"
1112
"github.com/pkg/errors"
1213
"io"
@@ -252,5 +253,8 @@ func (u *Upgrader) PerformCoreUpgrade(tarPath string) (err error) {
252253
return err
253254
}
254255

256+
// gracefully restart
257+
overseer.Restart()
258+
255259
return
256260
}

main.go

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,12 @@ import (
66
"github.com/0xJacky/Nginx-UI/internal/kernal"
77
"github.com/0xJacky/Nginx-UI/internal/logger"
88
"github.com/0xJacky/Nginx-UI/internal/nginx"
9-
"github.com/0xJacky/Nginx-UI/internal/upgrader"
109
"github.com/0xJacky/Nginx-UI/router"
1110
"github.com/0xJacky/Nginx-UI/settings"
1211
"github.com/gin-gonic/gin"
1312
"github.com/jpillora/overseer"
14-
"github.com/jpillora/overseer/fetcher"
15-
"log"
1613
"net/http"
14+
"time"
1715
)
1816

1917
func Program(state overseer.State) {
@@ -42,16 +40,9 @@ func main() {
4240

4341
gin.SetMode(settings.ServerSettings.RunMode)
4442

45-
r, err := upgrader.GetRuntimeInfo()
46-
47-
if err != nil {
48-
log.Fatalln(err)
49-
}
50-
5143
overseer.Run(overseer.Config{
5244
Program: Program,
5345
Address: fmt.Sprintf("%s:%s", settings.ServerSettings.HttpHost, settings.ServerSettings.HttpPort),
54-
Fetcher: &fetcher.File{Path: r.ExPath},
55-
TerminateTimeout: 0,
46+
TerminateTimeout: 5 * time.Second,
5647
})
5748
}

0 commit comments

Comments
 (0)