Merge branch 'tagname' into 'master'
Added in a staggered start of new instances See merge request khanzf/fedilogue!15
This commit is contained in:
commit
6c9db2aac9
fedilogue
@ -82,6 +82,7 @@ func main() {
|
||||
removeHTMLReg = regexp.MustCompile(`<\/?\s*br\s*>`)
|
||||
re = regexp.MustCompile("^https?://([^/]*)/(.*)$")
|
||||
matchurl = regexp.MustCompile("http?s://[\\w\\-]+\\.[\\w\\-]+\\S*")
|
||||
staggeredStartChan = make(chan bool)
|
||||
|
||||
// Start instances located in database
|
||||
rows, err := pool.Query(context.Background(), "SELECT endpoint FROM instances")
|
||||
@ -91,6 +92,9 @@ func main() {
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
go staggeredStart();
|
||||
go statusReportHandler()
|
||||
|
||||
for rows.Next() {
|
||||
var endpoint string
|
||||
err = rows.Scan(&endpoint)
|
||||
@ -100,14 +104,12 @@ func main() {
|
||||
}
|
||||
_, exists := GetRunner(endpoint)
|
||||
if exists == false {
|
||||
logInfo("Autostarting " + endpoint)
|
||||
go StartInstance(endpoint)
|
||||
}
|
||||
}
|
||||
|
||||
go startctl()
|
||||
//go webmain()
|
||||
go statusReportHandler()
|
||||
|
||||
runtime.Goexit()
|
||||
}
|
||||
|
@ -14,6 +14,8 @@ import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
var staggeredStartChan chan bool
|
||||
|
||||
func DoTries(o *RunningInstance, req *http.Request) (*http.Response, error) {
|
||||
var resp *http.Response
|
||||
var err error
|
||||
@ -212,8 +214,17 @@ func CheckInstance(newinstance string, callerEndpoint string) {
|
||||
}
|
||||
}
|
||||
|
||||
func staggeredStart() {
|
||||
for {
|
||||
_ :<- staggeredStartChan
|
||||
time.Sleep(500 * time.Millisecond)
|
||||
}
|
||||
}
|
||||
|
||||
func StartInstance(endpoint string) {
|
||||
staggeredStartChan <- true
|
||||
logInfo("Starting " + endpoint)
|
||||
|
||||
// Check if exists. If so, get the object. If not, create it
|
||||
o, _ := GetRunner(endpoint)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user