GuidesDefining Jobs
ITickerFunction Interface
Class-based handlers registered programmatically with MapTicker.
Available in version *.3.0 or later.
Implement ITickerFunction and register with MapTicker<T>() for programmatic control.
Without payload
public class CleanupJob : ITickerFunction
{
public async Task ExecuteAsync(TickerFunctionContext context, CancellationToken ct)
{
// cleanup logic
}
}builder.Services.MapTicker<CleanupJob>();With typed payload
Implement ITickerFunction<TRequest>:
public class EmailJob : ITickerFunction<EmailPayload>
{
private readonly IMailer _mailer;
public EmailJob(IMailer mailer) => _mailer = mailer;
public async Task ExecuteAsync(TickerFunctionContext<EmailPayload> context, CancellationToken ct)
{
await _mailer.SendAsync(context.Request.To, ct);
}
}builder.Services.MapTicker<EmailJob, EmailPayload>();Builder options
Every MapTicker call returns a TickerFunctionBuilder for further configuration:
builder.Services.MapTicker<ProcessOrderJob, OrderPayload>()
.WithCron("*/5 * * * *")
.WithMaxConcurrency(3)
.WithPriority(TickerTaskPriority.High);| Method | Description |
|---|---|
.WithCron(string) | Attach a cron schedule (auto-seeded on startup) |
.WithMaxConcurrency(int) | Limit parallel executions |
.WithPriority(TickerTaskPriority) | Set execution priority |