Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
chain33-pai
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
szh
chain33-pai
Commits
1c55ec4c
Commit
1c55ec4c
authored
Oct 28, 2021
by
szh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加校验高度超过1小时无变化时 自动发送回滚信号
parent
9178abb7
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
52 additions
and
19 deletions
+52
-19
process.go
pkg/app/process.go
+52
-19
No files found.
pkg/app/process.go
View file @
1c55ec4c
...
@@ -12,9 +12,6 @@ import (
...
@@ -12,9 +12,6 @@ import (
"encoding/json"
"encoding/json"
"errors"
"errors"
"fmt"
"fmt"
"github.com/33cn/chain33/common/log"
"github.com/33cn/chain33/types"
types2
"github.com/33cn/plugin/plugin/dapp/ticket/types"
"io"
"io"
"io/ioutil"
"io/ioutil"
"net/http"
"net/http"
...
@@ -25,6 +22,10 @@ import (
...
@@ -25,6 +22,10 @@ import (
"strings"
"strings"
"sync"
"sync"
"time"
"time"
"github.com/33cn/chain33/common/log"
"github.com/33cn/chain33/types"
types2
"github.com/33cn/plugin/plugin/dapp/ticket/types"
)
)
var
tlog
=
log
.
New
(
"pkg"
,
"app"
)
var
tlog
=
log
.
New
(
"pkg"
,
"app"
)
...
@@ -64,6 +65,7 @@ var UpdateInfo updateInfo
...
@@ -64,6 +65,7 @@ var UpdateInfo updateInfo
var
NodeError
error
var
NodeError
error
var
ServerStatus
Server
var
ServerStatus
Server
var
RebootP
bool
var
RebootP
bool
var
heightStr
string
func
getProcessInfo
(
keyfile
string
)
string
{
func
getProcessInfo
(
keyfile
string
)
string
{
var
buffer
bytes
.
Buffer
//
var
buffer
bytes
.
Buffer
//
...
@@ -385,9 +387,9 @@ func Unlock() error {
...
@@ -385,9 +387,9 @@ func Unlock() error {
return
err
return
err
}
}
pass
:=
strings
.
Replace
(
string
(
passwd
),
"
\n
"
,
""
,
-
1
)
pass
:=
strings
.
Replace
(
string
(
passwd
),
"
\n
"
,
""
,
-
1
)
passByte
,
err
:=
base64
.
StdEncoding
.
DecodeString
(
pass
)
passByte
,
err
:=
base64
.
StdEncoding
.
DecodeString
(
pass
)
if
err
!=
nil
{
if
err
!=
nil
{
tlog
.
Info
(
"decode err"
,
"err"
,
err
)
tlog
.
Info
(
"decode err"
,
"err"
,
err
)
return
err
return
err
}
}
reply
,
err
:=
setting
.
PaiClient
.
Unlock
(
&
types
.
WalletUnLock
{
reply
,
err
:=
setting
.
PaiClient
.
Unlock
(
&
types
.
WalletUnLock
{
...
@@ -474,7 +476,7 @@ func RemoveOldPwdFile() error {
...
@@ -474,7 +476,7 @@ func RemoveOldPwdFile() error {
if
err
==
nil
{
if
err
==
nil
{
err
=
os
.
Remove
(
"/home/pi/passwd"
)
err
=
os
.
Remove
(
"/home/pi/passwd"
)
if
err
!=
nil
{
if
err
!=
nil
{
tlog
.
Error
(
"remove old file"
,
"err"
,
err
)
tlog
.
Error
(
"remove old file"
,
"err"
,
err
)
return
err
return
err
}
}
}
}
...
@@ -486,33 +488,33 @@ func RemoveOldPwdFile() error {
...
@@ -486,33 +488,33 @@ func RemoveOldPwdFile() error {
func
AutoLogsClean
()
error
{
func
AutoLogsClean
()
error
{
var
buf
bytes
.
Buffer
var
buf
bytes
.
Buffer
cmd
:=
exec
.
Command
(
"du"
,
"-m"
,
"chain33.out"
)
cmd
:=
exec
.
Command
(
"du"
,
"-m"
,
"chain33.out"
)
cmd
.
Stdout
=
&
buf
cmd
.
Stdout
=
&
buf
err
:=
cmd
.
Run
()
err
:=
cmd
.
Run
()
if
err
!=
nil
{
if
err
!=
nil
{
tlog
.
Error
(
"AutoLogsClean"
,
"err"
,
err
)
tlog
.
Error
(
"AutoLogsClean"
,
"err"
,
err
)
return
err
return
err
}
}
list
:=
strings
.
Split
(
buf
.
String
(),
"
\t
"
)
list
:=
strings
.
Split
(
buf
.
String
(),
"
\t
"
)
if
len
(
list
)
>=
2
{
if
len
(
list
)
>=
2
{
size
,
err
:=
strconv
.
Atoi
(
list
[
0
])
size
,
err
:=
strconv
.
Atoi
(
list
[
0
])
if
err
!=
nil
{
if
err
!=
nil
{
tlog
.
Error
(
"AutoLogsClean split"
,
"err"
,
err
)
tlog
.
Error
(
"AutoLogsClean split"
,
"err"
,
err
)
return
err
return
err
}
}
tlog
.
Info
(
"AutoLogsClean"
,
"size"
,
size
)
tlog
.
Info
(
"AutoLogsClean"
,
"size"
,
size
)
if
size
>=
200
{
if
size
>=
200
{
var
b
bytes
.
Buffer
var
b
bytes
.
Buffer
c
:=
exec
.
Command
(
"bash"
,
"-c"
,
"echo 1 => chain33.out"
)
c
:=
exec
.
Command
(
"bash"
,
"-c"
,
"echo 1 => chain33.out"
)
c
.
Stderr
=
&
b
c
.
Stderr
=
&
b
err
=
c
.
Start
()
err
=
c
.
Start
()
if
err
!=
nil
{
if
err
!=
nil
{
tlog
.
Error
(
"AutoLogsClean clean"
,
"err"
,
err
)
tlog
.
Error
(
"AutoLogsClean clean"
,
"err"
,
err
)
return
err
return
err
}
}
err
=
c
.
Wait
()
err
=
c
.
Wait
()
if
err
!=
nil
{
if
err
!=
nil
{
tlog
.
Error
(
"AutoLogsClean clean"
,
"err"
,
err
)
tlog
.
Error
(
"AutoLogsClean clean"
,
"err"
,
err
)
return
err
return
err
}
}
}
}
...
@@ -709,18 +711,39 @@ func uploadInfo() error {
...
@@ -709,18 +711,39 @@ func uploadInfo() error {
tlog
.
Error
(
"SetPai"
,
"err"
,
err
)
tlog
.
Error
(
"SetPai"
,
"err"
,
err
)
return
err
return
err
}
}
nowTime
:=
time
.
Now
()
.
Unix
()
if
pai
.
LocalLastHeight
>
0
{
if
heightStr
==
""
{
heightStr
=
fmt
.
Sprintf
(
"%d_%d"
,
nowTime
,
pai
.
LocalLastHeight
)
}
else
{
lastTime
,
lastHeight
:=
getLastHeightFromCache
()
tlog
.
Info
(
"last "
,
"height"
,
lastHeight
)
//高度无变化且时间超过1小时 程序内部发送回滚信号
if
lastHeight
==
pai
.
LocalLastHeight
{
if
(
nowTime
-
lastTime
)
>
3600
{
tlog
.
Error
(
"node stop sync rleady to rollback"
,
"height"
,
pai
.
LocalLastHeight
)
util
.
AddValue
(
&
JobID
,
1
)
JobChan
<-
MsgType
{
Name
:
"ROLLBACK"
,
JobID
:
JobID
}
}
}
else
if
lastHeight
<
pai
.
LocalLastHeight
{
//高度增长则更新cache
heightStr
=
fmt
.
Sprintf
(
"%d_%d"
,
nowTime
,
pai
.
LocalLastHeight
)
}
else
{
heightStr
=
fmt
.
Sprintf
(
"%d_%d"
,
nowTime
,
pai
.
LocalLastHeight
)
}
}
}
if
pai
.
NetInfo
==
nil
{
if
pai
.
NetInfo
==
nil
{
net
:=
&
types
.
NodeNetInfo
{}
net
:=
&
types
.
NodeNetInfo
{}
ips
,
err
:=
GetRightIPs
()
ips
,
err
:=
GetRightIPs
()
if
err
!=
nil
{
if
err
!=
nil
{
tlog
.
Error
(
"getips "
,
"err"
,
err
)
tlog
.
Error
(
"getips "
,
"err"
,
err
)
}
}
if
len
(
ips
)
>
0
{
if
len
(
ips
)
>
0
{
net
.
Localaddr
=
ips
[
0
]
.
String
()
net
.
Localaddr
=
ips
[
0
]
.
String
()
}
}
extIp
,
err
:=
util
.
GetExternal
()
extIp
,
err
:=
util
.
GetExternal
()
if
err
!=
nil
{
if
err
!=
nil
{
tlog
.
Error
(
"getexternal ip"
,
"err"
,
err
)
tlog
.
Error
(
"getexternal ip"
,
"err"
,
err
)
}
else
{
}
else
{
net
.
Externaladdr
=
extIp
net
.
Externaladdr
=
extIp
}
}
...
@@ -752,6 +775,16 @@ func uploadInfo() error {
...
@@ -752,6 +775,16 @@ func uploadInfo() error {
return
nil
return
nil
}
}
func
getLastHeightFromCache
()
(
int64
,
int64
)
{
var
t
,
h
int
list
:=
strings
.
Split
(
heightStr
,
"_"
)
if
len
(
list
)
==
2
{
t
,
_
=
strconv
.
Atoi
(
list
[
0
])
h
,
_
=
strconv
.
Atoi
(
list
[
1
])
}
return
int64
(
t
),
int64
(
h
)
}
func
uploadVersion
()
error
{
func
uploadVersion
()
error
{
client
:=
&
http
.
Client
{}
client
:=
&
http
.
Client
{}
params
:=
make
(
map
[
string
]
interface
{})
params
:=
make
(
map
[
string
]
interface
{})
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment