Files
sm-seo-plugin/jobs.go

33 lines
824 B
Go

package seo
import (
"context"
"git.golem15.com/golem15/sm-seo-plugin/classes"
"git.golem15.com/golem15/summercms/modules/conga"
"git.golem15.com/golem15/summercms/modules/pact"
)
// Jobs registers the entry generation job (D-94) on conga.
func (p *Plugin) Jobs() []pact.Job {
return []pact.Job{
conga.Job(p.generateEntries, conga.MaxAttempts(3)),
}
}
// generateEntries runs one generation job.
func (p *Plugin) generateEntries(ctx context.Context, args classes.GenerateEntriesArgs) error {
svc := p.Service()
if svc == nil {
return classes.ErrNotBooted
}
res, err := svc.GenerateEntries(ctx, args.Type)
if err != nil {
return err
}
pluginLog.Info("golem15.seo: entries generated", "type", args.Type, "created", res.Created, "updated", res.Updated)
return nil
}
var _ pact.HasJobs = (*Plugin)(nil)