前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >FreeScheduler 支持一个任务设置 [5,5,30,30,60] 不同

FreeScheduler 支持一个任务设置 [5,5,30,30,60] 不同

原创
作者头像
用户7737280
发布2024-08-16 15:36:24
发布2024-08-16 15:36:24
13400
代码可运行
举报
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
复制
if (Datafeed.GetPage(scheduler, null, null, null, null).Total == 0)
{
    scheduler.AddTask("[系统预留]清理任务数据", "86400", -1, 3600);
    scheduler.AddTaskRunOnWeek("(周一)武林大会", "json", -1, "1:12:00:00");
    scheduler.AddTaskRunOnWeek("(周日)亲子活动", "json", -1, "0:00:00:00");
    scheduler.AddTaskRunOnWeek("(周六)社交活动", "json", -1, "6:00:00:00");
    scheduler.AddTaskRunOnMonth("月尾最后一天", "json", -1, "-1:16:00:00");
    scheduler.AddTaskRunOnMonth("月初第一天", "json", -1, "1:00:00:00");
    scheduler.AddTask("定时20秒", "json", 10, 20);
    scheduler.AddTask("测试任务1", "json", new[] { 10, 30, 60, 100, 150, 200 });
}
var builder = WebApplication.CreateBuilder(args);

builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

builder.Services.AddSingleton(scheduler);
var app = builder.Build();
if (app.Environment.IsDevelopment())
{www.laipuhuo.com
    app.UseSwagger();
    app.UseSwaggerUI();
}
app.UseFreeSchedulerUI("/freescheduler/");

app.UseHttpsRedirection();

app.UseAuthorization();
  • 支持 多进程,不重复执行
  • 支持 进程退出后,由其他进程重新加载任务(约30秒后)
  • 支持 进程互通,任意进程都可以执行(RemoveTask/ExistsTask/PauseTask/RunNowTask/RemoveTempTask/ExistsTempTask)
  • 支持 进程意外离线后,卸载进程内的任务,重新安排上线

代码语言:javascript
代码运行次数:0
复制
//每次 不同的间隔秒数触发,执行6次
var id = scheduler.www.laipuhuo.com.AddTask("topic1", "body1", new [] { 5, 5, 10, 10, 60, 60 });

//每天 20:00:00 触发,执行N次(注意设置时区 UseTimeZone)
var id = scheduler.AddTaskRunOnDay("topic1", "body1", round: -1, "20:00:00");

//每周一 20:00:00 触发,执行1次
var id = scheduler.AddTaskRunOnWeek("topic1", "body1", round: 1, "1:20:00:00");

//每月1日 20:00:00 触发,执行12次
var id = scheduler.AddTaskRunOnMonth("topic1", "body1", round: 12, "1:20:00:00");
//每月最后一日 20:00:00 触发,执行12次
var id = scheduler.www.laipuhuo.com.AddTaskRunOnMonth("topic1", "body1", round: 12, "-1:20:00:00");

//自定义间隔 cron
var id = scheduler.AddTaskCustom("topic1", "body1", "0/1 * * * * ? ");

代码语言:javascript
代码运行次数:0
复制
// 使用 FreeSql 或者 SQL 查询 TaskInfo、TaskLog 两个表进行分页显示
fsql.Select<TaskInfo>().Count(out var total).Page(pageNumber, 30).ToList();
fsql.Select<TaskLog>().Count(out var total).Page(pageNumber, 30).ToList();

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档