Skip to content

Commit a94bb3b

Browse files
committed
增加申请任务时的埋点,方便分析调度平台为什么没有分配任务
1 parent a33cd55 commit a94bb3b

1 file changed

Lines changed: 22 additions & 8 deletions

File tree

AntJob.Server/Services/JobService.cs

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,8 @@ public IJob SetJob(App app, JobModel model, IDictionary<String, Object> paramete
137137
/// <returns></returns>
138138
public ITask[] Acquire(App app, AcquireModel model, AppOnline online)
139139
{
140+
using var span = _tracer?.NewSpan(nameof(Acquire), new { app = app?.Name, job = model.Job, count = model.Count, topic = model.Topic, online.Client });
141+
140142
var jobName = model.Job?.Trim();
141143
if (jobName.IsNullOrEmpty()) return [];
142144

@@ -148,7 +150,14 @@ public ITask[] Acquire(App app, AcquireModel model, AppOnline online)
148150

149151
// 作业是否启用,是否处于免打扰时间
150152
var job = app.Jobs.FirstOrDefault(e => e.Name == jobName);
151-
if (job != null && (!job.Enable || job.CheckQuiet(DateTime.Now))) return [];
153+
if (job != null && (!job.Enable || job.CheckQuiet(DateTime.Now)))
154+
{
155+
if (!job.Enable)
156+
span?.AppendTag("作业停用");
157+
else
158+
span?.AppendTag($"免打扰时间:{job.QuietTime}");
159+
return [];
160+
}
152161

153162
// 全局锁,确保单个作业只有一个线程在分配作业
154163
using var ck = _cacheProvider.AcquireLock($"antjob:lock:{job.ID}", 15_000);
@@ -167,7 +176,11 @@ public ITask[] Acquire(App app, AcquireModel model, AppOnline online)
167176
var ip = online.UpdateIP;
168177
//var ip = remote?.Host;
169178
//var online = _appService.GetOnline(app, remote + "", ip);
170-
if (!online.Enable) return [];
179+
if (!online.Enable)
180+
{
181+
span?.AppendTag("应用在线实例停止分配任务");
182+
return [];
183+
}
171184

172185
var list = new List<JobTask>();
173186

@@ -737,7 +750,7 @@ public Boolean TrySplit(Job job, DateTime start, out DateTime end)
737750
/// <returns></returns>
738751
public IList<JobTask> AcquireDelay(Job job, String server, String client, Int32 count, ICache cache)
739752
{
740-
using var span = _tracer?.NewSpan(nameof(AcquireDelay), new { job.Name, server, client, count });
753+
using var span = _tracer?.NewSpan(nameof(AcquireDelay), new { job.Name, server, client, job.MaxRetry, job.MaxError, count });
741754

742755
using var ts = Job.Meta.CreateTrans();
743756

@@ -758,7 +771,7 @@ public IList<JobTask> AcquireDelay(Job job, String server, String client, Int32
758771
ts.Commit();
759772

760773
// 记录任务数
761-
span?.AppendTag(null, list.Count);
774+
span?.AppendTag($"now={now.ToFullString()} maxError={maxError}", list.Count);
762775

763776
return list;
764777
}
@@ -772,26 +785,27 @@ public IList<JobTask> AcquireDelay(Job job, String server, String client, Int32
772785
/// <returns></returns>
773786
public IList<JobTask> AcquireOld(Job job, String server, String client, Int32 count, ICache cache)
774787
{
775-
using var span = _tracer?.NewSpan(nameof(AcquireOld), new { job.Name, server, client, count });
788+
using var span = _tracer?.NewSpan(nameof(AcquireOld), new { job.Name, server, client, job.MaxRetry, job.MaxError, count });
776789

777790
using var ts = Job.Meta.CreateTrans();
778791
var list = new List<JobTask>();
779792

780793
var now = DateTime.Now;
794+
var end = now;
781795
var maxError = job.MaxError - job.Error;
782796

783797
// 查找历史错误任务
784798
if (job.ErrorDelay > 0)
785799
{
786-
var end = now.AddSeconds(-job.ErrorDelay);
800+
end = now.AddSeconds(-job.ErrorDelay);
787801
var list2 = JobTask.Search(job.ID, now.AddDays(-7), end, job.MaxRetry, maxError, [JobStatus.错误], count);
788802
if (list2.Count > 0) list.AddRange(list2);
789803
}
790804

791805
// 查找历史中断任务,持续10分钟仍然未完成
792806
if (job.MaxTime > 0 && list.Count < count)
793807
{
794-
var end = now.AddSeconds(-job.MaxTime);
808+
end = now.AddSeconds(-job.MaxTime);
795809
var list2 = JobTask.Search(job.ID, now.AddDays(-7), end, job.MaxRetry, maxError, [JobStatus.就绪, JobStatus.抽取中, JobStatus.处理中], count - list.Count);
796810
if (list2.Count > 0) list.AddRange(list2);
797811
}
@@ -812,7 +826,7 @@ public IList<JobTask> AcquireOld(Job job, String server, String client, Int32 co
812826
ts.Commit();
813827

814828
// 记录任务数
815-
span?.AppendTag(null, list.Count);
829+
span?.AppendTag($"now={now.ToFullString()} end={end.ToFullString()} maxError={maxError}", list.Count);
816830

817831
return list;
818832
}

0 commit comments

Comments
 (0)