diff options
| author | Bobby <[email protected]> | 2026-02-26 14:28:21 +0530 |
|---|---|---|
| committer | Bobby <[email protected]> | 2026-02-26 14:28:21 +0530 |
| commit | 627c2c239e0a44b6363a9f02235a73f5e2c81d2e (patch) | |
| tree | 6c7b3cad8a5fb42c5649905a20800edf8e63f666 /tasks/tasks.go | |
| parent | aa4cf5ff588c9082282ee57074199dc7d2a37e09 (diff) | |
| download | metachan-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.go | 73 |
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) - } } |
