You've already forked agentic-coding-workflow
feat(app): wire acp_events_purge runner into jobs scheduler
This commit is contained in:
@@ -373,6 +373,8 @@ func New(ctx context.Context, cfg *config.Config, dist embed.FS) (*App, error) {
|
||||
log)
|
||||
jobReaperRunner := runners.NewJobReaper(jobsRepo, cfg.Jobs.JobReaper.LeaseTimeout, log)
|
||||
jobPurgeRunner := runners.NewJobPurge(jobsRepo, cfg.Jobs.JobPurge.CompletedRetention, log)
|
||||
acpEventsPurgeRunner := runners.NewAcpEventsPurge(
|
||||
acpEventsPurgeAdapter{repo: acpRepo}, cfg.Jobs.AcpEventsPurge.Retention, log)
|
||||
|
||||
deadLetterFn := func(ctx context.Context, job jobs.Job, herr error) {
|
||||
errMsg := herr.Error()
|
||||
@@ -443,6 +445,11 @@ func New(ctx context.Context, cfg *config.Config, dist embed.FS) (*App, error) {
|
||||
Interval: cfg.Jobs.JobPurge.Interval,
|
||||
CompletedRetention: cfg.Jobs.JobPurge.CompletedRetention,
|
||||
},
|
||||
AcpEventsPurge: jobs.AcpEventsPurgeConfig{
|
||||
Enabled: cfg.Jobs.AcpEventsPurge.Enabled,
|
||||
Interval: cfg.Jobs.AcpEventsPurge.Interval,
|
||||
Retention: cfg.Jobs.AcpEventsPurge.Retention,
|
||||
},
|
||||
}, jobs.ModuleDeps{
|
||||
Repo: jobsRepo,
|
||||
Handlers: map[jobs.JobType]jobs.Handler{
|
||||
@@ -454,6 +461,7 @@ func New(ctx context.Context, cfg *config.Config, dist embed.FS) (*App, error) {
|
||||
"attachment_cleanup": attCleanupRunner.Run,
|
||||
"job_reaper": jobReaperRunner.Run,
|
||||
"job_purge": jobPurgeRunner.Run,
|
||||
"acp_events_purge": acpEventsPurgeRunner.Run,
|
||||
},
|
||||
Clock: clock.Real(),
|
||||
Log: log,
|
||||
@@ -803,3 +811,11 @@ type dispatcherAdapter struct{ d *notify.Dispatcher }
|
||||
func (a dispatcherAdapter) Dispatch(ctx context.Context, msg notify.Message) error {
|
||||
return a.d.Dispatch(ctx, msg)
|
||||
}
|
||||
|
||||
// acpEventsPurgeAdapter exposes acp.Repository.PurgeEventsBefore as the narrow
|
||||
// interface required by runners.AcpEventsPurge.
|
||||
type acpEventsPurgeAdapter struct{ repo acp.Repository }
|
||||
|
||||
func (a acpEventsPurgeAdapter) PurgeEventsBefore(ctx context.Context, before time.Time) (int64, error) {
|
||||
return a.repo.PurgeEventsBefore(ctx, before)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user