gpt4 book ai didi

c# - Quartz.Net 工作进度

转载 作者:行者123 更新时间:2023-12-04 00:12:04 24 4
gpt4 key购买 nike

IJob 是否有一种简单的方法可以从 Job 中发布数据。我有一个正在运行导入过程的作业,但想通过查找作业并请求它来检索进度。

我以为我可以使用 JobDetails,但似乎没有反射(reflect)在 Job 中所做的更改?

最佳答案

这是很有可能。

我会用这样的东西。
在职:

public virtual void Execute(IJobExecutionContext context)
{
int i = 0;
while (i++ < 100)
{
context.JobDetail.JobDataMap["progress"] = i;
Thread.Sleep(1000);
}
}

在想要检索进度的代码中:
var jobs = scheduler.GetCurrentlyExecutingJobs();
foreach (var j in jobs)
{
Console.WriteLine("Progress of {0} is {1}",
j.JobDetail.Key,
j.JobDetail.JobDataMap["progress"]);
}

当然,您可以过滤 GetCurrentlyExecutingJobs 的结果。

此外,您可以将作业设置为 DurablePersistJobDataAfterExecution ,因此完成后,您可以通过 scheduler.GetJobDetail(..) 检索其进度和其他任何内容。并访问其 JobDataMap然后。

关于c# - Quartz.Net 工作进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1243777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com