mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-04 15:06:37 +08:00
优化
This commit is contained in:
@@ -18,6 +18,7 @@ package task
|
||||
|
||||
const (
|
||||
CleanupUnusedUploadsTask = "upload:cleanup_unused"
|
||||
SendEmailTask = "mail:send"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -27,6 +28,7 @@ const (
|
||||
// 管理员可下发的任务类型标识
|
||||
const (
|
||||
TaskTypeCleanupUploads = "cleanup_unused_uploads"
|
||||
TaskTypeSendEmail = "send_email"
|
||||
)
|
||||
|
||||
// TaskMeta 任务元数据
|
||||
@@ -53,6 +55,16 @@ var DispatchableTasks = []TaskMeta{
|
||||
Queue: QueueDefault,
|
||||
Retryable: true,
|
||||
},
|
||||
{
|
||||
Type: TaskTypeSendEmail,
|
||||
AsynqTask: SendEmailTask,
|
||||
Name: "发送邮件",
|
||||
Description: "异步发送系统邮件",
|
||||
SupportsTime: false,
|
||||
MaxRetry: 3,
|
||||
Queue: QueueDefault,
|
||||
Retryable: true,
|
||||
},
|
||||
}
|
||||
|
||||
// GetTaskMeta 根据任务类型获取元数据
|
||||
|
||||
@@ -21,6 +21,7 @@ import (
|
||||
|
||||
"github.com/hibiken/asynq"
|
||||
"github.com/linux-do/credit/internal/apps/upload"
|
||||
"github.com/linux-do/credit/internal/apps/user"
|
||||
"github.com/linux-do/credit/internal/config"
|
||||
"github.com/linux-do/credit/internal/task"
|
||||
)
|
||||
@@ -28,6 +29,7 @@ import (
|
||||
func init() {
|
||||
// 注册所有任务处理器
|
||||
task.RegisterHandler(task.CleanupUnusedUploadsTask, &upload.CleanupUnusedUploadsHandler{})
|
||||
task.RegisterHandler(task.SendEmailTask, &user.SendEmailHandler{})
|
||||
}
|
||||
|
||||
// StartWorker 启动任务处理服务器
|
||||
@@ -49,6 +51,7 @@ func StartWorker() error {
|
||||
// 统一使用 task.ProcessTask 处理所有任务类型
|
||||
// 框架内部自动分发到对应的 TaskHandler 实现
|
||||
mux.HandleFunc(task.CleanupUnusedUploadsTask, task.ProcessTask)
|
||||
mux.HandleFunc(task.SendEmailTask, task.ProcessTask)
|
||||
|
||||
// 启动服务器
|
||||
return asynqServer.Run(mux)
|
||||
|
||||
Reference in New Issue
Block a user