Reo.Core.Queue
8.0.777
dotnet add package Reo.Core.Queue --version 8.0.777
NuGet\Install-Package Reo.Core.Queue -Version 8.0.777
<PackageReference Include="Reo.Core.Queue" Version="8.0.777" />
<PackageVersion Include="Reo.Core.Queue" Version="8.0.777" />
<PackageReference Include="Reo.Core.Queue" />
paket add Reo.Core.Queue --version 8.0.777
#r "nuget: Reo.Core.Queue, 8.0.777"
#:package Reo.Core.Queue@8.0.777
#addin nuget:?package=Reo.Core.Queue&version=8.0.777
#tool nuget:?package=Reo.Core.Queue&version=8.0.777
Reo.Core.Queue
Описание пакета
Reo.Core.Queue — это библиотека для обработки интеграционных событий и сообщений в распределенных системах. Пакет
предоставляет абстракции для работы с событиями, таких как IntegrationEvent<T>, и инструменты для их сериализации,
маршрутизации и обработки. Он решает задачи, связанные с асинхронной передачей данных между микросервисами, обработкой
ошибок и логированием.
Основные функции:
- Поддержка интеграционных событий (например,
DmRequestEvent,RouteRequestEvent). - Работа с типами событий, такими как
RoutesCalculationChangedIntegrationEvent. - Обработка ошибок и отслеживание состояния обработки через события
DmResponseEventиRouteResponseEvent. - Поддержка сериализации и десериализации событий.
Основные компоненты
1. IntegrationEvent<T>
Базовый класс для всех интеграционных событий. Содержит идентификатор события и дополнительные данные.
2. DmRequestEvent, RouteRequestEvent
Конкретные типы событий, используемые для инициирования обработки запросов в системе. Содержат пути к файлам или данным для обработки.
3. RoutesCalculationChangedIntegrationEvent
Запись (record), представляющая событие изменения расчета маршрута. Содержит данные о типе изменения (публикация, архивирование, удаление), идентификатор расчета и пользователе.
4. RefbookType
Перечисление, определяющее типы ссылок, используемых в событиях (например, категория отходов, регион).
5. DmResponseEvent, RouteResponseEvent
События, возвращающие результаты обработки запросов, включая успешные и неудачные операции.
Требования
- .NET версии: .NET 8.0, .NET 9.0
- Зависимости: Нет внешних зависимостей (использует только стандартные библиотеки .NET).
Установка
NuGet Package Manager
Install-Package Reo.Core.Queue
.NET CLI
dotnet add package Reo.Core.Queue
Настройка
Регистрация в DI-контейнере (ASP.NET Core)
services.AddSingleton<IServiceProvider, ServiceProvider>();
services.AddSingleton<IMessageBus, MessageBus>();
Примечание: Если используется конкретная реализация сообщений (например, RabbitMQ, Azure Service Bus), необходимо добавить соответствующие зависимости и настроить конфигурацию в
appsettings.json.
Конфигурационные параметры
- Нет обязательных параметров в данном пакете. Настройки сообщений зависят от используемого брокера.
Использование
Пример 1: Создание и отправка события
var event = new DmRequestEvent(new[] { "/path/to/file1", "/path/to/file2" });
await messageBus.PublishAsync(event);
Пример 2: Обработка события
public class DmEventHandler : IEventHandler<DmRequestEvent>
{
public async Task Handle(DmRequestEvent @event)
{
// Обработка запросов
var result = await ProcessFiles(@event.Paths);
await messageBus.PublishAsync(new DmResponseEvent { Succeeded = result });
}
}
Пример 3: Обработка изменения расчета маршрута
var changeEvent = new RoutesCalculationChangedIntegrationEvent(
calculationId: Guid.NewGuid(),
data: new[] { new RoutesCalculationChangedData { ... } },
type: RoutesCalculationChangedType.ToPublish,
userId: Guid.NewGuid()
);
await messageBus.PublishAsync(changeEvent);
Лицензия
Данный пакет распространяется под лицензией MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- AspNetCore.HealthChecks.Rabbitmq (>= 9.0.0)
- JetBrains.Annotations (>= 2025.2.4)
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.Extensions.Configuration (>= 10.0.1)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.1)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.1)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.1)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.1)
- Microsoft.Extensions.Options (>= 10.0.1)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.1)
- RabbitMQ.Client (>= 7.2.0)
- Reo.Core.Queue.Abstractions (>= 8.0.777)
- stbychkov.AutoLoggerMessage (>= 1.0.15)
- System.IO.Pipelines (>= 10.0.1)
- System.Text.Encodings.Web (>= 10.0.1)
- System.Text.Json (>= 10.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 8.0.777 | 275 | 12/23/2025 |
| 8.0.776 | 229 | 12/23/2025 |
| 8.0.775 | 224 | 12/23/2025 |
| 8.0.771 | 227 | 12/23/2025 |
| 8.0.770 | 228 | 12/23/2025 |
| 8.0.769 | 214 | 12/22/2025 |
| 8.0.768 | 212 | 12/22/2025 |
| 8.0.766 | 280 | 12/19/2025 |
| 8.0.765 | 266 | 12/19/2025 |
| 8.0.764 | 268 | 12/19/2025 |
| 8.0.763 | 267 | 12/19/2025 |
| 8.0.762 | 271 | 12/19/2025 |
| 8.0.761 | 277 | 12/19/2025 |
| 8.0.760 | 312 | 12/17/2025 |
| 8.0.759 | 311 | 12/16/2025 |
| 8.0.758 | 312 | 12/16/2025 |
| 8.0.757 | 294 | 12/15/2025 |
| 8.0.755 | 295 | 12/15/2025 |
| 8.0.749 | 290 | 12/15/2025 |
| 8.0.748 | 284 | 12/15/2025 |