Browse Source

Minor performance improvement.

pull/556/head
Sebastian 5 years ago
parent
commit
c8ca7cfa08
  1. 28
      backend/src/Squidex.Domain.Apps.Entities.MongoDb/Rules/MongoRuleEventRepository.cs

28
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Rules/MongoRuleEventRepository.cs

@ -106,21 +106,19 @@ namespace Squidex.Domain.Apps.Entities.MongoDb.Rules
.Set(x => x.JobResult, RuleJobResult.Cancelled));
}
public async Task UpdateAsync(RuleJob job, RuleJobUpdate update)
public Task UpdateAsync(RuleJob job, RuleJobUpdate update)
{
Guard.NotNull(job, nameof(job));
Guard.NotNull(update, nameof(update));
if (update.ExecutionResult == RuleResult.Success)
{
await statisticsCollection.IncrementSuccess(job.AppId, job.RuleId, update.Finished);
}
else
{
await statisticsCollection.IncrementFailed(job.AppId, job.RuleId, update.Finished);
return Task.WhenAll(
UpdateStatisticsAsync(job, update),
UpdateEventAsync(job, update));
}
await Collection.UpdateOneAsync(x => x.Id == job.Id,
private Task UpdateEventAsync(RuleJob job, RuleJobUpdate update)
{
return Collection.UpdateOneAsync(x => x.Id == job.Id,
Update
.Set(x => x.Result, update.ExecutionResult)
.Set(x => x.LastDump, update.ExecutionDump)
@ -129,6 +127,18 @@ namespace Squidex.Domain.Apps.Entities.MongoDb.Rules
.Inc(x => x.NumCalls, 1));
}
private async Task UpdateStatisticsAsync(RuleJob job, RuleJobUpdate update)
{
if (update.ExecutionResult == RuleResult.Success)
{
await statisticsCollection.IncrementSuccess(job.AppId, job.RuleId, update.Finished);
}
else
{
await statisticsCollection.IncrementFailed(job.AppId, job.RuleId, update.Finished);
}
}
public Task<IReadOnlyList<RuleStatistics>> QueryStatisticsByAppAsync(Guid appId)
{
return statisticsCollection.QueryByAppAsync(appId);

Loading…
Cancel
Save