Skip to content

Commit 3c76b57

Browse files
authored
Merge release/3.0.1 to master
2 parents 4bd890d + 8fe9069 commit 3c76b57

File tree

4 files changed

+35
-27
lines changed

4 files changed

+35
-27
lines changed

source/Jobbr.Server.IntegrationTests/Jobbr.Server.IntegrationTests.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
</PropertyGroup>
2929
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
3030
<ItemGroup>
31-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
32-
<PackageReference Include="MSTest.TestAdapter" Version="2.2.10" />
33-
<PackageReference Include="MSTest.TestFramework" Version="2.2.10" />
31+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.5.0" />
32+
<PackageReference Include="MSTest.TestAdapter" Version="3.0.2" />
33+
<PackageReference Include="MSTest.TestFramework" Version="3.0.2" />
3434
<PackageReference Include="System.Configuration.ConfigurationManager" Version="6.0.1" />
3535
</ItemGroup>
3636
<ItemGroup>

source/Jobbr.Server.UnitTests/Jobbr.Server.UnitTests.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
</PropertyGroup>
2323

2424
<ItemGroup>
25-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
26-
<PackageReference Include="MSTest.TestAdapter" Version="2.2.10" />
27-
<PackageReference Include="MSTest.TestFramework" Version="2.2.10" />
25+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.5.0" />
26+
<PackageReference Include="MSTest.TestAdapter" Version="3.0.2" />
27+
<PackageReference Include="MSTest.TestFramework" Version="3.0.2" />
2828
<PackageReference Include="Moq" Version="4.18.4" />
29-
<PackageReference Include="Shouldly" Version="4.1.0" />
29+
<PackageReference Include="Shouldly" Version="4.2.1" />
3030
</ItemGroup>
3131

3232
<ItemGroup>

source/Jobbr.Server/Scheduling/DefaultScheduler.cs

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -247,34 +247,42 @@ private void EvaluateRecurringTriggers()
247247
{
248248
lock (_evaluateTriggersLock)
249249
{
250-
// Re-evaluate recurring triggers every n seconds
251-
var activeTriggers = _jobbrRepository.GetActiveTriggers(pageSize: int.MaxValue).Items.Where(t => t.GetType() == typeof(RecurringTrigger));
252-
253-
var additionalItems = new List<ScheduledPlanItem>();
254-
255-
foreach (var trigger in activeTriggers.Cast<RecurringTrigger>())
250+
try
256251
{
257-
var planResult = GetPlanResult(trigger, false);
252+
// Re-evaluate recurring triggers every n seconds
253+
var activeTriggers = _jobbrRepository.GetActiveTriggers(pageSize: int.MaxValue).Items.Where(t => t.GetType() == typeof(RecurringTrigger));
258254

259-
if (planResult.Action == PlanAction.Possible)
255+
var additionalItems = new List<ScheduledPlanItem>();
256+
257+
foreach (var trigger in activeTriggers.Cast<RecurringTrigger>())
260258
{
261-
// Check if there is already a run planned at this time
262-
var nextRunForTrigger = _jobbrRepository.GetNextJobRunByTriggerId(trigger.JobId, trigger.Id, _dateTimeProvider.GetUtcNow());
259+
var planResult = GetPlanResult(trigger, false);
263260

264-
if (nextRunForTrigger == null || !nextRunForTrigger.PlannedStartDateTimeUtc.Equals(planResult.ExpectedStartDateUtc))
261+
if (planResult.Action == PlanAction.Possible)
265262
{
266-
var scheduledItem = CreateNew(planResult, trigger);
267-
additionalItems.Add(scheduledItem);
263+
// Check if there is already a run planned at this time
264+
var nextRunForTrigger = _jobbrRepository.GetNextJobRunByTriggerId(trigger.JobId, trigger.Id, _dateTimeProvider.GetUtcNow());
265+
266+
if (nextRunForTrigger == null || !nextRunForTrigger.PlannedStartDateTimeUtc.Equals(planResult.ExpectedStartDateUtc))
267+
{
268+
var scheduledItem = CreateNew(planResult, trigger);
269+
additionalItems.Add(scheduledItem);
270+
}
268271
}
269272
}
270-
}
271273

272-
if (additionalItems.Any())
273-
{
274-
_logger.LogInformation("The re-evaluation of recurring triggers caused the addition of {itemCount} scheduled items", additionalItems.Count);
275-
_currentPlan.AddRange(additionalItems);
274+
if (additionalItems.Any())
275+
{
276+
_logger.LogInformation("The re-evaluation of recurring triggers caused the addition of {itemCount} scheduled items", additionalItems.Count);
277+
_currentPlan.AddRange(additionalItems);
276278

277-
PublishCurrentPlan();
279+
PublishCurrentPlan();
280+
}
281+
}
282+
catch (Exception e)
283+
{
284+
// Internal error (e.g. DB access failure) in recurring trigger execution should not tear down Jobbr
285+
_logger.LogError(e, "Gathering information or executing of the recurring trigger failed");
278286
}
279287
}
280288
}

0 commit comments

Comments
 (0)