Only wait with queue processing if queue is empty

This commit is contained in:
Jan-Lukas Else 2021-05-24 10:44:43 +02:00
parent 0dd256579a
commit b5faa6bbb2
5 changed files with 12 additions and 23 deletions

View File

@ -80,9 +80,7 @@ func initActivityPub() error {
return err return err
} }
// Init send queue // Init send queue
if err = initAPSendQueue(); err != nil { initAPSendQueue()
return err
}
return nil return nil
} }

View File

@ -19,15 +19,9 @@ type apRequest struct {
Try int Try int
} }
func initAPSendQueue() (err error) { func initAPSendQueue() {
startAPSendQueue()
return nil
}
func startAPSendQueue() {
go func() { go func() {
for { for {
time.Sleep(3 * time.Second)
qi, err := peekQueue("ap") qi, err := peekQueue("ap")
if err != nil { if err != nil {
log.Println(err.Error()) log.Println(err.Error())
@ -56,6 +50,9 @@ func startAPSendQueue() {
if err != nil { if err != nil {
log.Println(err.Error()) log.Println(err.Error())
} }
} else {
// No item in the queue, wait a moment
time.Sleep(15 * time.Second)
} }
} }
}() }()

View File

@ -130,10 +130,7 @@ func main() {
logErrAndQuit("Failed to init ActivityPub:", err.Error()) logErrAndQuit("Failed to init ActivityPub:", err.Error())
return return
} }
if err = initWebmention(); err != nil { initWebmention()
logErrAndQuit("Failed to init webmention support:", err.Error())
return
}
initTelegram() initTelegram()
initBlogStats() initBlogStats()
initSessions() initSessions()

View File

@ -30,7 +30,7 @@ type mention struct {
Status webmentionStatus Status webmentionStatus
} }
func initWebmention() error { func initWebmention() {
// Add hooks // Add hooks
hookFunc := func(p *post) { hookFunc := func(p *post) {
if p.Status == statusPublished { if p.Status == statusPublished {
@ -41,7 +41,7 @@ func initWebmention() error {
postHooks[postUpdateHook] = append(postHooks[postUpdateHook], hookFunc) postHooks[postUpdateHook] = append(postHooks[postUpdateHook], hookFunc)
postHooks[postDeleteHook] = append(postHooks[postDeleteHook], hookFunc) postHooks[postDeleteHook] = append(postHooks[postDeleteHook], hookFunc)
// Start verifier // Start verifier
return initWebmentionQueue() initWebmentionQueue()
} }
func handleWebmention(w http.ResponseWriter, r *http.Request) { func handleWebmention(w http.ResponseWriter, r *http.Request) {

View File

@ -20,15 +20,9 @@ import (
"willnorris.com/go/microformats" "willnorris.com/go/microformats"
) )
func initWebmentionQueue() (err error) { func initWebmentionQueue() {
startWebmentionQueue()
return nil
}
func startWebmentionQueue() {
go func() { go func() {
for { for {
time.Sleep(10 * time.Second)
qi, err := peekQueue("wm") qi, err := peekQueue("wm")
if err != nil { if err != nil {
log.Println(err.Error()) log.Println(err.Error())
@ -49,6 +43,9 @@ func startWebmentionQueue() {
if err != nil { if err != nil {
log.Println(err.Error()) log.Println(err.Error())
} }
} else {
// No item in the queue, wait a moment
time.Sleep(15 * time.Second)
} }
} }
}() }()