You've already forked agentic-coding-workflow
feat(jobs): wire mcp_tokens_purge runner into jobs.Module
- Config.MCPTokensPurge + scheduleEntry branch - app.go constructs runner with mcpTokensPurgeAdapter - Registered as 'mcp_tokens_purge' in RunnerFns map Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -404,6 +404,8 @@ func New(ctx context.Context, cfg *config.Config, dist embed.FS) (*App, error) {
|
||||
jobPurgeRunner := runners.NewJobPurge(jobsRepo, cfg.Jobs.JobPurge.CompletedRetention, log)
|
||||
acpEventsPurgeRunner := runners.NewAcpEventsPurge(
|
||||
acpEventsPurgeAdapter{repo: acpRepo}, cfg.Jobs.AcpEventsPurge.Retention, log)
|
||||
mcpTokensPurgeRunner := runners.NewMCPTokensPurge(
|
||||
mcpTokensPurgeAdapter{repo: mcpRepo}, cfg.Jobs.MCPTokensPurge.Retention, log)
|
||||
|
||||
deadLetterFn := func(ctx context.Context, job jobs.Job, herr error) {
|
||||
errMsg := herr.Error()
|
||||
@@ -479,6 +481,11 @@ func New(ctx context.Context, cfg *config.Config, dist embed.FS) (*App, error) {
|
||||
Interval: cfg.Jobs.AcpEventsPurge.Interval,
|
||||
Retention: cfg.Jobs.AcpEventsPurge.Retention,
|
||||
},
|
||||
MCPTokensPurge: jobs.MCPTokensPurgeConfig{
|
||||
Enabled: cfg.Jobs.MCPTokensPurge.Enabled,
|
||||
Interval: cfg.Jobs.MCPTokensPurge.Interval,
|
||||
Retention: cfg.Jobs.MCPTokensPurge.Retention,
|
||||
},
|
||||
}, jobs.ModuleDeps{
|
||||
Repo: jobsRepo,
|
||||
Handlers: map[jobs.JobType]jobs.Handler{
|
||||
@@ -491,6 +498,7 @@ func New(ctx context.Context, cfg *config.Config, dist embed.FS) (*App, error) {
|
||||
"job_reaper": jobReaperRunner.Run,
|
||||
"job_purge": jobPurgeRunner.Run,
|
||||
"acp_events_purge": acpEventsPurgeRunner.Run,
|
||||
"mcp_tokens_purge": mcpTokensPurgeRunner.Run,
|
||||
},
|
||||
Clock: clock.Real(),
|
||||
Log: log,
|
||||
@@ -848,3 +856,11 @@ type acpEventsPurgeAdapter struct{ repo acp.Repository }
|
||||
func (a acpEventsPurgeAdapter) PurgeEventsBefore(ctx context.Context, before time.Time) (int64, error) {
|
||||
return a.repo.PurgeEventsBefore(ctx, before)
|
||||
}
|
||||
|
||||
// mcpTokensPurgeAdapter exposes mcp.Repository.PurgeExpired as the narrow
|
||||
// interface required by runners.MCPTokensPurge.
|
||||
type mcpTokensPurgeAdapter struct{ repo mcp.Repository }
|
||||
|
||||
func (a mcpTokensPurgeAdapter) PurgeExpired(ctx context.Context, before time.Time) (int64, error) {
|
||||
return a.repo.PurgeExpired(ctx, before)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user