Merge branch 'report' into dev
This commit is contained in:
16
PARR.Domain/Common/Rabbit/Messages/TaskMessage.cs
Normal file
16
PARR.Domain/Common/Rabbit/Messages/TaskMessage.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using PARR.Domain.Enums;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace PARR.Domain.Common.Rabbit.Messages
|
||||
{
|
||||
/// <summary>
|
||||
/// Модель для отправки сообщений через ITaskManagement
|
||||
/// </summary>
|
||||
public record TaskMessage
|
||||
{
|
||||
public Guid TaskId { get; init; }
|
||||
|
||||
[JsonConverter(typeof(JsonStringEnumConverter))]
|
||||
public TaskTypeEnum TypeCode { get; init; }
|
||||
}
|
||||
}
|
||||
11
PARR.Domain/Entities/Attributes/ManualControlAttribute.cs
Normal file
11
PARR.Domain/Entities/Attributes/ManualControlAttribute.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
namespace PARR.Domain.Entities.Attributes
|
||||
{
|
||||
/// <summary>
|
||||
/// Отключает автоматическое управление DateModified.
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Property)]
|
||||
public class ManualControlAttribute : Attribute
|
||||
{
|
||||
// позже, можно применять к другим свойствам, если придумаем зачем и реализуем логику
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,11 @@
|
||||
{
|
||||
public interface IBaseEntityDateModified
|
||||
{
|
||||
/// <summary>
|
||||
/// Дата обновления объекта в БД.
|
||||
/// Обновляется автоматически при комите.
|
||||
/// Чтобы отключить автоматическое управление, применить атрибут [ManualControl]
|
||||
/// </summary>
|
||||
public DateTimeOffset? DateModified { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using PARR.Domain.Constants;
|
||||
using PARR.Domain.Entities.Attributes;
|
||||
using PARR.Domain.Entities.Base;
|
||||
using PARR.Domain.Entities.Base.History;
|
||||
using PARR.Domain.Enums;
|
||||
@@ -17,6 +18,7 @@ namespace PARR.Domain.Entities.TaskEntities
|
||||
|
||||
public DateTimeOffset DateCreated { get; set; }
|
||||
|
||||
[ManualControl]
|
||||
public DateTimeOffset? DateModified { get; set; }
|
||||
|
||||
public TaskTypeEnum TypeCode { get; set; }
|
||||
|
||||
21
PARR.Domain/Settings/IReconciliationSettings.cs
Normal file
21
PARR.Domain/Settings/IReconciliationSettings.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
namespace PARR.Domain.Settings
|
||||
{
|
||||
/// <summary>
|
||||
/// Настройки поиска зависших заданий (Task, Reconciliation Job)
|
||||
/// </summary>
|
||||
public interface IReconciliationSettings
|
||||
{
|
||||
/// <summary>
|
||||
/// Интервал запуска проверки.
|
||||
/// Рекомендуемое значение: 5-10 минут.
|
||||
/// </summary>
|
||||
TimeSpan CheckInterval { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Максимальное кол-во задач для обработки за один проход.
|
||||
/// Защита от перегрузки при большом кол-ве зависших задач.
|
||||
/// Рекомендуемое значение 100
|
||||
/// </summary>
|
||||
public int MaxTaskPerRun { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user