Add periodic post fetching and update default Mastodon instance to mstdn.party
This commit is contained in:
26
cmd/main.go
26
cmd/main.go
@@ -15,6 +15,9 @@ func main() {
|
|||||||
// Setup AppContext
|
// Setup AppContext
|
||||||
var appContext = helpers.SetupAppContext()
|
var appContext = helpers.SetupAppContext()
|
||||||
|
|
||||||
|
ticker := time.NewTicker(1 * time.Minute)
|
||||||
|
|
||||||
|
runFetchPosts := func() {
|
||||||
// Get posts
|
// Get posts
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
@@ -30,26 +33,33 @@ func main() {
|
|||||||
var newAccounts = appContext.PostService.GetNewAccounts(existingAccountIds, newPosts)
|
var newAccounts = appContext.PostService.GetNewAccounts(existingAccountIds, newPosts)
|
||||||
|
|
||||||
// Save to database
|
// Save to database
|
||||||
log.Println("Number of existing posts: ", len(existingPostIds))
|
log.Printf("Number of existing posts: %d, existing accounts: %d, new posts: %d, new accounts: %d\n", len(existingPostIds), len(existingAccountIds), len(newPosts), len(newAccounts))
|
||||||
log.Println("Number of existing accounts: ", len(existingAccountIds))
|
|
||||||
log.Println("Number of new posts: ", len(newPosts))
|
|
||||||
log.Println("Number of new accounts: ", len(newAccounts))
|
|
||||||
|
|
||||||
// Additional logging
|
// Additional logging
|
||||||
if newAccounts != nil {
|
if newAccounts != nil {
|
||||||
log.Println("Number of inserted accounts: ", appContext.PostService.InsertNewAccounts(newAccounts))
|
log.Println("Number of inserted accounts: ", appContext.PostService.InsertNewAccounts(newAccounts))
|
||||||
} else {
|
} else {
|
||||||
log.Println("No new accounts inserted")
|
log.Print(" - No new accounts inserted")
|
||||||
}
|
}
|
||||||
if newPosts != nil {
|
if newPosts != nil {
|
||||||
log.Println("Number of inserted posts: ", appContext.PostService.InsertNewPosts(newPosts))
|
log.Print(" - Number of inserted posts: ", appContext.PostService.InsertNewPosts(newPosts))
|
||||||
} else {
|
} else {
|
||||||
log.Println("No new posts inserted")
|
log.Print(" - No new posts inserted")
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
go func() {
|
||||||
|
for range ticker.C {
|
||||||
|
runFetchPosts()
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
// https://seefnasrul.medium.com/create-your-first-go-rest-api-with-jwt-authentication-in-gin-framework-dbe5bda72817
|
// https://seefnasrul.medium.com/create-your-first-go-rest-api-with-jwt-authentication-in-gin-framework-dbe5bda72817
|
||||||
engine := gin.Default()
|
engine := gin.Default()
|
||||||
r := server.SetupRouter(engine)
|
r := server.SetupRouter(engine)
|
||||||
r.Run(":8080")
|
err := r.Run(":8080")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -14,14 +14,13 @@ func SetupAppContext() *internal.AppContext {
|
|||||||
// Setup AppContext
|
// Setup AppContext
|
||||||
instance := os.Getenv("INSTANCE")
|
instance := os.Getenv("INSTANCE")
|
||||||
if instance == "" {
|
if instance == "" {
|
||||||
instance = "https://haminoa.net"
|
instance = "https://mstdn.party"
|
||||||
}
|
}
|
||||||
tag := os.Getenv("TAG")
|
tag := os.Getenv("TAG")
|
||||||
if tag == "" {
|
if tag == "" {
|
||||||
tag = "catsofmastodon"
|
tag = "catsofmastodon"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Setup database
|
// Setup database
|
||||||
db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{Logger: logger.Default.LogMode(logger.Warn)})
|
db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{Logger: logger.Default.LogMode(logger.Warn)})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Reference in New Issue
Block a user