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
0d78ac63
Commit
0d78ac63
authored
Jun 09, 2020
by
szh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add emailhistory
parent
d87dcb1d
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
42 additions
and
2 deletions
+42
-2
go.mod
go.mod
+1
-0
go.sum
go.sum
+3
-0
raspEmailHistory.go
models/raspEmailHistory.go
+19
-0
init.go
pkg/app/init.go
+1
-0
process.go
pkg/app/process.go
+5
-0
raspberryChan.go
pkg/app/raspberryChan.go
+8
-1
util.go
pkg/util/util.go
+5
-1
No files found.
go.mod
View file @
0d78ac63
...
...
@@ -40,5 +40,6 @@ require (
golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a // indirect
google.golang.org/grpc v1.23.1
gopkg.in/go-playground/validator.v8 v8.18.2
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
gopkg.in/yaml.v2 v2.2.2
)
go.sum
View file @
0d78ac63
...
...
@@ -43,6 +43,7 @@ github.com/dgrijalva/jwt-go v0.0.0-20171019215719-dbeaa9332f19/go.mod h1:E3ru+11
github.com/dgryski/go-farm v0.0.0-20180109070241-2de33835d102/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fvbock/endless v0.0.0-20170109170031-447134032cb6 h1:6VSn3hB5U5GeA6kQw4TwWIWbOhtvR2hmbBJnTOtqTWc=
github.com/fvbock/endless v0.0.0-20170109170031-447134032cb6/go.mod h1:YxOVT5+yHzKvwhsiSIWmbAYM3Dr9AEEbER2dVayfBkg=
github.com/gin-contrib/sse v0.0.0-20170109093832-22d885f9ecc7 h1:AzN37oI0cOS+cougNAV9szl6CVoj2RYwzS3DpUQNtlY=
github.com/gin-contrib/sse v0.0.0-20170109093832-22d885f9ecc7/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s=
...
...
@@ -190,6 +191,8 @@ gopkg.in/go-playground/validator.v8 v8.0.0-20170730050235-5f1438d3fca6/go.mod h1
gopkg.in/go-playground/validator.v8 v8.18.2 h1:lFB4DoMU6B626w8ny76MV7VX6W2VHct2GVOI3xgiMrQ=
gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y=
gopkg.in/go-playground/webhooks.v5 v5.2.0/go.mod h1:LZbya/qLVdbqDR1aKrGuWV6qbia2zCYSR5dpom2SInQ=
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df h1:n7WqCuqOuCbNr617RXOY0AWRXxgwEyPp2z+p0+hgMuE=
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw=
gopkg.in/natefinch/lumberjack.v2 v2.0.0-20170531160350-a96e63847dc3/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637/go.mod h1:BHsqpu/nsuzkT5BpiH1EMZPLyqSMM8JbIavyFACoFNk=
...
...
models/raspEmailHistory.go
0 → 100644
View file @
0d78ac63
package
models
type
RaspEmailHistory
struct
{
//Model
Id
int64
`json:"id" gorm:"PRIMARY_KEY"`
Addr
string
`json:"addr"`
Date
string
`json:"date"`
Error
string
`json:"error"`
}
func
AddEmailHistory
(
rasp
*
RaspEmailHistory
)
error
{
return
db
.
Create
(
rasp
)
.
Error
}
func
CheckEmailToday
(
rasp
*
RaspEmailHistory
)
bool
{
var
email
RaspEmailHistory
return
db
.
Model
(
&
email
)
.
Where
(
"addr = ? and date = ?"
,
rasp
.
Addr
,
rasp
.
Date
)
.
First
(
&
email
)
.
RecordNotFound
()
}
\ No newline at end of file
pkg/app/init.go
View file @
0d78ac63
...
...
@@ -4,6 +4,7 @@ var JobChan chan MsgType
type
MsgType
struct
{
Name
string
Addr
string
Email
string
}
...
...
pkg/app/process.go
View file @
0d78ac63
...
...
@@ -12,6 +12,7 @@ import (
"sync"
"time"
"strings"
"chain33-pai/pkg/util"
)
func
GennerPort
()(
port
,
daemonPort
int
,
err
error
){
...
...
@@ -187,6 +188,10 @@ func SendMailIfNodeError() error {
if
v
.
NodeStatus
==
1
{
continue
}
//一天只发一次
if
!
models
.
CheckEmailToday
(
&
models
.
RaspEmailHistory
{
Addr
:
v
.
Addr
,
Date
:
util
.
GetMonthDay
()})
{
continue
}
if
v
.
NodeStatus
==
0
&&
v
.
Email
!=
""
{
//节点未启动
fmt
.
Println
(
NODEERROR
,
"addr="
,
v
.
Addr
,
"email="
,
v
.
Email
)
JobChan
<-
MsgType
{
Name
:
NODEERROR
,
Email
:
v
.
Email
}
...
...
pkg/app/raspberryChan.go
View file @
0d78ac63
...
...
@@ -3,6 +3,8 @@ package app
import
(
"chain33-pai/pkg/email"
"fmt"
"chain33-pai/models"
"chain33-pai/pkg/util"
)
const
(
...
...
@@ -13,12 +15,16 @@ const (
var
mailMsg
=
map
[
string
]
string
{
"NODEERROR"
:
"节点不能正常启动,请联系技术远程排查问题"
,
"NETWORKERROR"
:
"网络出现异常,请排查家里网络是否正常上网以及网线接口是否松动"
,
"NODENOTSYNC"
:
"节点不同步,尝试排查网络,一键回滚,一键恢复
,重置节点
等功能"
,
"NODENOTSYNC"
:
"节点不同步,尝试排查网络,一键回滚,一键恢复等功能"
,
}
func
EmailJob
()
error
{
for
{
for
v
:=
range
JobChan
{
var
rasp
models
.
RaspEmailHistory
rasp
.
Date
=
util
.
GetMonthDay
()
rasp
.
Addr
=
v
.
Addr
rasp
.
Error
=
v
.
Name
switch
v
.
Name
{
case
NODEERROR
:
err
:=
email
.
SendToMail
(
mailMsg
[
NODEERROR
],
v
.
Email
)
...
...
@@ -36,6 +42,7 @@ func EmailJob() error {
fmt
.
Println
(
"SendToMail"
,
err
)
}
}
models
.
AddEmailHistory
(
&
rasp
)
}
}
}
pkg/util/util.go
View file @
0d78ac63
...
...
@@ -41,5 +41,9 @@ func GetLocalIP() (ipv4 *net.IPNet, err error) {
}
func
GetMonthDate
()
string
{
return
time
.
Now
()
.
Format
(
"2006-1"
)
return
time
.
Now
()
.
Format
(
"2006-01"
)
}
func
GetMonthDay
()
string
{
return
time
.
Now
()
.
Format
(
"2006-01-02"
)
}
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