@@ -55,6 +55,18 @@ class JobInterval(BaseModel):
55
55
modrinth_tags : int = 60 * 60 * 24 # 24 hours
56
56
global_statistics : int = 60 * 60 * 24 # 24 hours
57
57
58
+ class CronTrigger (BaseModel ):
59
+ curseforge_refresh : str = "0 */2 * * *" # Every 2 hours
60
+ modrinth_refresh : str = "0 */2 * * *" # Every 2 hours
61
+ curseforge_refresh_full : str = "0 2 * * *" # Every day at 02:00
62
+ modrinth_refresh_full : str = "0 4 * * *" # Every day at 04:00
63
+ sync_curseforge_by_queue : str = "*/20 * * * *" # Every 20 minutes
64
+ sync_modrinth_by_queue : str = "10,30,50 * * * *" # Every 10, 30, 50 minutes
65
+ sync_modrinth_by_search : str = "30 */2 * * *" # Every 2 hours at 30 minutes past the hour
66
+ sync_curseforge_by_search : str = "0 */2 * * *" # Every 2 hours at 30 minutes past odd hours
67
+ curseforge_categories : str = "0 0 * * *" # Daily at 00:00
68
+ modrinth_tags : str = "0 0 * * *" # Daily at 00:00
69
+ global_statistics : str = "0 0 * * *" # Daily at 00:00
58
70
59
71
class DomainRateLimitModel (BaseModel ):
60
72
"""域名限速配置 - 令牌桶算法"""
@@ -72,6 +84,8 @@ class ConfigModel(BaseModel):
72
84
73
85
job_config : JobConfigModel = JobConfigModel ()
74
86
interval : JobInterval = JobInterval ()
87
+ use_cron : bool = True # 是否使用 CronTrigger,如果为 False 则使用 IntervalTrigger
88
+ cron_trigger : CronTrigger = CronTrigger ()
75
89
76
90
max_workers : int = 8
77
91
curseforge_chunk_size : int = 1000
0 commit comments