Record failed log in redis.
This commit is contained in:
parent
0a893b4bcf
commit
381b0e2255
@ -5,10 +5,12 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
|
"time"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
|
|
||||||
"github.com/RichardKnop/machinery/v1"
|
"github.com/RichardKnop/machinery/v1"
|
||||||
"github.com/RichardKnop/machinery/v1/config"
|
"github.com/RichardKnop/machinery/v1/config"
|
||||||
|
"github.com/go-redis/redis"
|
||||||
"github.com/satori/go.uuid"
|
"github.com/satori/go.uuid"
|
||||||
"github.com/yukimochi/Activity-Relay/ActivityPub"
|
"github.com/yukimochi/Activity-Relay/ActivityPub"
|
||||||
"github.com/yukimochi/Activity-Relay/KeyLoader"
|
"github.com/yukimochi/Activity-Relay/KeyLoader"
|
||||||
@ -23,10 +25,19 @@ var Hostkey *rsa.PrivateKey
|
|||||||
// Actor : Relay's Actor
|
// Actor : Relay's Actor
|
||||||
var Actor activitypub.Actor
|
var Actor activitypub.Actor
|
||||||
|
|
||||||
|
var redClient *redis.Client
|
||||||
|
|
||||||
func relayActivity(args ...string) error {
|
func relayActivity(args ...string) error {
|
||||||
inboxURL := args[0]
|
inboxURL := args[0]
|
||||||
body := args[1]
|
body := args[1]
|
||||||
err := activitypub.SendActivity(inboxURL, Actor.ID, *(*[]byte)(unsafe.Pointer(&body)), Hostkey)
|
err := activitypub.SendActivity(inboxURL, Actor.ID, *(*[]byte)(unsafe.Pointer(&body)), Hostkey)
|
||||||
|
if err != nil {
|
||||||
|
domain, _ := url.Parse(inboxURL)
|
||||||
|
mod, _ := redClient.HSetNX("relay:statistics:"+domain.Host, "last_error", err.Error()).Result()
|
||||||
|
if mod {
|
||||||
|
redClient.Expire("relay:statistics:"+domain.Host, time.Duration(time.Minute))
|
||||||
|
}
|
||||||
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,6 +71,9 @@ func main() {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
panic("Can't parse Relay Domain")
|
panic("Can't parse Relay Domain")
|
||||||
}
|
}
|
||||||
|
redClient = redis.NewClient(&redis.Options{
|
||||||
|
Addr: redisURL,
|
||||||
|
})
|
||||||
Actor = activitypub.GenerateActor(Hostname, &Hostkey.PublicKey)
|
Actor = activitypub.GenerateActor(Hostname, &Hostkey.PublicKey)
|
||||||
|
|
||||||
var macConfig = &config.Config{
|
var macConfig = &config.Config{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user