8.6K Star 14.2K Fork 4.2K

GVPdotNET China/Furion

 / 详情

在使用定时任务时候出现的问题:继承ISpareTimeWorker

已完成
创建于  
2021-05-18 11:44

代码为:
[SpareTime("0 0/30 * * * ? ", "SynchronizeJudge", StartNow = true, CronFormat = CronFormat.IncludeSeconds)] //StartNow=true 没有马上执行
public void SynchronizeJudge(SpareTimer timer, long count)
{
//_scopeFactory变量对象为IServiceScopeFactory 采用的App.GetService()方式注入的
using (var scope = _scopeFactory.CreateScope())
{
var services = scope.ServiceProvider;
// 解析其他服务
var customService = services.GetService();
customService.SynchronizeJudge();
}
}
写法为:[SpareTime(1800, "SynchronizeJudge", StartNow = true, CronFormat = CronFormat.IncludeSeconds)] //StartNow=true 程序启动就马上执行了
问题
1.StartNow设置为true的时候启动程序没有马上执行,而是等了30分钟后在进行执行的,但是不使用Cron表达式的情况下启动程序会马上执行一次
2.使用SpareTime.Start("SynchronizeJudge");定时任务并没有马上执行..我是在控制器中进行方法调用的..不知道可不可以,
代码为:
[HttpGet]
public string StartJob(string workName)
{
SpareTime.Start(workName);
return "启动成功";
}
Furion版本为:2.6.0

评论 (2)

lc 创建了任务 4年前
lc 关联仓库设置为dotNET China/Furion 4年前
lc 修改了描述 4年前
lc 修改了标题 4年前
展开全部操作日志

兄弟,StarNow = true 意思就是下一个符合时间的才执行,你设置30分钟,那就等30分钟,没有任何毛病。

lc-lcdkj lc
回复 百小僧 拥有者
4年前

好的大佬,我看文档上面写的是 :是否立即启动,我以为是启动项目后马上运行一次,让后在等下一个30分钟,是否抱歉大佬我理解错了

百小僧 任务状态待办的 修改为进行中 4年前
百小僧 负责人设置为百小僧 4年前
百小僧 任务状态进行中 修改为已完成 4年前
百小僧 添加了
 
疑问
标签
4年前
百小僧 里程碑设置为Furion 2021 4年前
百小僧 关联分支设置为master 4年前
百小僧 计划截止日期设置为2021-05-18 4年前
百小僧 计划开始日期设置为2021-05-18 4年前
百小僧 关联分支master 修改为未关联 2年前

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
974299 monksoul 1578937227 lc-lcdkj
C#
1
https://gitee.com/dotnetchina/Furion.git
git@gitee.com:dotnetchina/Furion.git
dotnetchina
Furion
Furion

搜索帮助