代码为:
[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
兄弟,StarNow = true
意思就是下一个符合时间的才执行,你设置30分钟,那就等30分钟,没有任何毛病。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论