aboutsummaryrefslogtreecommitdiff
path: root/tasks/tasks.go
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-02-26 14:28:21 +0530
committerBobby <[email protected]>2026-02-26 14:28:21 +0530
commit627c2c239e0a44b6363a9f02235a73f5e2c81d2e (patch)
tree6c7b3cad8a5fb42c5649905a20800edf8e63f666 /tasks/tasks.go
parentaa4cf5ff588c9082282ee57074199dc7d2a37e09 (diff)
downloadmetachan-627c2c239e0a44b6363a9f02235a73f5e2c81d2e.tar.xz
metachan-627c2c239e0a44b6363a9f02235a73f5e2c81d2e.zip
Add MAL client and anime parsing functionality
- Implemented a new CloudflareClient to handle requests with randomized browser profiles. - Created structures and functions for parsing anime data from MyAnimeList (MAL), including anime details, episodes, and theme songs. - Added enums for anime types, statuses, sources, and ratings. - Developed utility functions for making HTTP requests with rate limiting and error handling. - Introduced image handling for anime covers and thumbnails. - Established a comprehensive data model for anime, including fields for statistics, trailers, and external links.
Diffstat (limited to 'tasks/tasks.go')
-rw-r--r--tasks/tasks.go73
1 files changed, 2 insertions, 71 deletions
diff --git a/tasks/tasks.go b/tasks/tasks.go
index 9df67fc..b9231c5 100644
--- a/tasks/tasks.go
+++ b/tasks/tasks.go
@@ -1,7 +1,6 @@
package tasks
import (
- "metachan/config"
"metachan/types"
"metachan/utils/logger"
"sync"
@@ -19,80 +18,12 @@ func init() {
}
err := GlobalTaskManager.RegisterTask(types.Task{
- Name: "ProducerSync",
+ Name: "AnimeFetch",
Interval: 7 * 24 * time.Hour,
- Execute: ProducerSync,
- OnResume: ResumeProducerEnrichment,
- })
-
- if err != nil {
- logger.Errorf("TaskManager", "Failed to register ProducerSync task: %v", err)
- }
-
- err = GlobalTaskManager.RegisterTask(types.Task{
- Name: "GenreSync",
- Interval: 7 * 24 * time.Hour,
- Execute: GenreSync,
- })
-
- if err != nil {
- logger.Errorf("TaskManager", "Failed to register GenreSync task: %v", err)
- }
-
- err = GlobalTaskManager.RegisterTask(types.Task{
- Name: "AnimeFetch",
- Interval: 7 * 24 * time.Hour,
- Dependencies: []string{"ProducerSync", "GenreSync"},
- Execute: AniFetch,
+ Execute: AniFetch,
})
if err != nil {
logger.Errorf("TaskManager", "Failed to register AnimeFetch task: %v", err)
}
-
- if config.Sync.AniSync {
- err = GlobalTaskManager.RegisterTask(types.Task{
- Name: "AnimeSync",
- Interval: 0,
- Execute: AniSync,
- OnResume: ResumeAnimeSync,
- Dependencies: []string{"AnimeFetch"},
- })
-
- if err != nil {
- logger.Errorf("TaskManager", "Failed to register AnimeSync task: %v", err)
- }
-
- err = GlobalTaskManager.RegisterTask(types.Task{
- Name: "CharacterSync",
- Interval: 0,
- Execute: CharacterSync,
- OnResume: ResumeCharacterEnrichment,
- Dependencies: []string{"AnimeSync"},
- })
- if err != nil {
- logger.Errorf("TaskManager", "Failed to register CharacterSync task: %v", err)
- }
-
- err = GlobalTaskManager.RegisterTask(types.Task{
- Name: "PersonSync",
- Interval: 0,
- Execute: PersonSync,
- OnResume: ResumePersonEnrichment,
- Dependencies: []string{"CharacterSync"},
- })
- if err != nil {
- logger.Errorf("TaskManager", "Failed to register PersonSync task: %v", err)
- }
- }
-
- err = GlobalTaskManager.RegisterTask(types.Task{
- Name: "AnimeUpdate",
- Interval: 15 * time.Minute,
- Execute: AnimeUpdate,
- })
-
- if err != nil {
- logger.Errorf("TaskManager", "Failed to register AnimeUpdate task: %v", err)
- }
}