24 changed files with 1473 additions and 0 deletions
@ -0,0 +1,21 @@ |
|||||
|
# LINGYUN.Abp.BackgroundTasks.Abstractions |
||||
|
|
||||
|
Background task (queue) module abstraction layer, defining basic constructs and interfaces. |
||||
|
|
||||
|
## Feature Parameters |
||||
|
|
||||
|
* DisableJobActionAttribute: Mark this feature to disable job trigger behavior processing |
||||
|
* DisableJobStatusAttribute: Mark this feature to disable job status processing |
||||
|
* DisableAuditingAttribute: Mark this feature to disable job logging |
||||
|
|
||||
|
## Configuration and Usage |
||||
|
|
||||
|
Module reference: |
||||
|
|
||||
|
```csharp |
||||
|
[DependsOn(typeof(AbpBackgroundTasksAbstractionsModule))] |
||||
|
public class YouProjectModule : AbpModule |
||||
|
{ |
||||
|
// other |
||||
|
} |
||||
|
``` |
||||
@ -0,0 +1,21 @@ |
|||||
|
# LINGYUN.Abp.BackgroundTasks.Activities |
||||
|
|
||||
|
Background task (queue) module behavior processing module. |
||||
|
|
||||
|
## Interface Parameters |
||||
|
|
||||
|
* IJobActionStore: Implement this interface to get job management behaviors |
||||
|
* JobActionDefinitionProvider: Implement this interface to customize job behaviors |
||||
|
* JobExecutedProvider: Implement this interface to extend job behaviors |
||||
|
|
||||
|
## Configuration and Usage |
||||
|
|
||||
|
Module reference: |
||||
|
|
||||
|
```csharp |
||||
|
[DependsOn(typeof(AbpBackgroundTasksActivitiesModule))] |
||||
|
public class YouProjectModule : AbpModule |
||||
|
{ |
||||
|
// other |
||||
|
} |
||||
|
``` |
||||
@ -0,0 +1,17 @@ |
|||||
|
# LINGYUN.Abp.BackgroundTasks.DistributedLocking |
||||
|
|
||||
|
Background task (queue) module distributed locking module. |
||||
|
|
||||
|
See: [Distributed-Locking](https://docs.abp.io/en/abp/latest/Distributed-Locking) |
||||
|
|
||||
|
## Configuration and Usage |
||||
|
|
||||
|
Module reference: |
||||
|
|
||||
|
```csharp |
||||
|
[DependsOn(typeof(AbpBackgroundTasksDistributedLockingModule))] |
||||
|
public class YouProjectModule : AbpModule |
||||
|
{ |
||||
|
// other |
||||
|
} |
||||
|
``` |
||||
@ -0,0 +1,26 @@ |
|||||
|
# LINGYUN.Abp.BackgroundTasks.EventBus |
||||
|
|
||||
|
Background task (queue) module distributed event module, integrating this module enables applications to handle job events. |
||||
|
|
||||
|
## Configuration and Usage |
||||
|
|
||||
|
Module reference: |
||||
|
|
||||
|
```csharp |
||||
|
[DependsOn(typeof(AbpBackgroundTasksEventBusModule))] |
||||
|
public class YouProjectModule : AbpModule |
||||
|
{ |
||||
|
// other |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## Features |
||||
|
|
||||
|
The module provides various job event types: |
||||
|
|
||||
|
- JobEventData - Base event data for all job events |
||||
|
- JobStartEventData - Event data when a job starts |
||||
|
- JobStopEventData - Event data when a job stops |
||||
|
- JobPauseEventData - Event data when a job is paused |
||||
|
- JobResumeEventData - Event data when a job resumes |
||||
|
- JobTriggerEventData - Event data when a job is triggered |
||||
@ -0,0 +1,40 @@ |
|||||
|
# LINGYUN.Abp.BackgroundTasks.ExceptionHandling |
||||
|
|
||||
|
Background job execution exception notification implementation, using Email to send notifications by default. |
||||
|
|
||||
|
## Configuration and Usage |
||||
|
|
||||
|
Module reference: |
||||
|
|
||||
|
```csharp |
||||
|
[DependsOn(typeof(AbpBackgroundTasksExceptionHandlingModule))] |
||||
|
public class YouProjectModule : AbpModule |
||||
|
{ |
||||
|
// other |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## Action Parameters |
||||
|
|
||||
|
** Specify the following parameters in the job definition to send notifications when the job execution fails: |
||||
|
|
||||
|
* to Required, recipient email address |
||||
|
* from Optional, sender name in email header |
||||
|
* body Optional, email content (required if template name is not specified) |
||||
|
* subject Optional, email subject |
||||
|
* template Optional, email template |
||||
|
* context Optional, context parameters when using template |
||||
|
* culture Optional, template culture when using template |
||||
|
|
||||
|
## Features |
||||
|
|
||||
|
- Supports email-based exception notifications for background jobs |
||||
|
- Customizable email templates with localization support |
||||
|
- Rich context information in notifications including: |
||||
|
- Tenant name (if applicable) |
||||
|
- Job group |
||||
|
- Job name |
||||
|
- Job ID |
||||
|
- Job type |
||||
|
- Trigger time |
||||
|
- Error message |
||||
@ -0,0 +1,42 @@ |
|||||
|
# LINGYUN.Abp.BackgroundTasks.Hangfire |
||||
|
|
||||
|
Background task module implementation based on Hangfire. |
||||
|
|
||||
|
## Configuration and Usage |
||||
|
|
||||
|
Module reference: |
||||
|
|
||||
|
```csharp |
||||
|
[DependsOn(typeof(AbpBackgroundTasksHangfireModule))] |
||||
|
public class YouProjectModule : AbpModule |
||||
|
{ |
||||
|
// other |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## Features |
||||
|
|
||||
|
- Integrates with Hangfire for background job processing |
||||
|
- Supports job execution events and monitoring |
||||
|
- Implements distributed locking for job execution |
||||
|
- Provides job execution context and result handling |
||||
|
- Includes job parameter management |
||||
|
- Supports job cancellation and timeout handling |
||||
|
|
||||
|
## Components |
||||
|
|
||||
|
- `HangfireJobExecutedAttribute`: Handles job execution events and locking |
||||
|
- `HangfireJobSimpleAdapter`: Adapts job execution to the Hangfire infrastructure |
||||
|
- Job event handling with support for: |
||||
|
- Before execution events |
||||
|
- After execution events |
||||
|
- Execution result handling |
||||
|
- Error handling and logging |
||||
|
|
||||
|
## Job Execution Flow |
||||
|
|
||||
|
1. Job scheduling through Hangfire |
||||
|
2. Pre-execution locking (if configured) |
||||
|
3. Job execution with context |
||||
|
4. Event handling and result processing |
||||
|
5. Lock release and cleanup |
||||
@ -0,0 +1,64 @@ |
|||||
|
# LINGYUN.Abp.BackgroundTasks.Jobs |
||||
|
|
||||
|
Common job module for background tasks (queue). |
||||
|
|
||||
|
## Job List |
||||
|
|
||||
|
* [ConsoleJob](./LINGYUN/Abp/BackgroundTasks/Jobs/ConsoleJob): Console output |
||||
|
* [HttpRequestJob](./LINGYUN/Abp/BackgroundTasks/Jobs/HttpRequestJob): HTTP request |
||||
|
* [SendEmailJob](./LINGYUN/Abp/BackgroundTasks/Jobs/SendEmailJob): Send email |
||||
|
* [SendSmsJob](./LINGYUN/Abp/BackgroundTasks/Jobs/SendSmsJob): Send SMS |
||||
|
* [ServiceInvocationJob](./LINGYUN/Abp/BackgroundTasks/Jobs/ServiceInvocationJob): Service invocation (HTTP request extension) |
||||
|
* [SleepJob](./LINGYUN/Abp/BackgroundTasks/Jobs/SleepJob): Sleep, delay job execution |
||||
|
|
||||
|
## Configuration and Usage |
||||
|
|
||||
|
Module reference: |
||||
|
|
||||
|
```csharp |
||||
|
[DependsOn(typeof(AbpBackgroundTasksJobsModule))] |
||||
|
public class YouProjectModule : AbpModule |
||||
|
{ |
||||
|
// other |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## Features |
||||
|
|
||||
|
### Console Job |
||||
|
- Output messages to console with timestamp |
||||
|
- Configurable message content |
||||
|
|
||||
|
### HTTP Request Job |
||||
|
- Support for various HTTP methods (GET, PUT, POST, PATCH, OPTIONS, DELETE) |
||||
|
- Custom headers and content type |
||||
|
- Request data handling |
||||
|
- Culture support |
||||
|
|
||||
|
### Email Job |
||||
|
- Send emails with customizable: |
||||
|
- Recipients |
||||
|
- Subject |
||||
|
- From address |
||||
|
- Body content |
||||
|
- Email templates |
||||
|
- Template model and context |
||||
|
- Culture support |
||||
|
|
||||
|
### SMS Job |
||||
|
- Send SMS messages with: |
||||
|
- Phone number targeting |
||||
|
- Message content |
||||
|
- Custom properties |
||||
|
|
||||
|
### Service Invocation Job |
||||
|
- Extended HTTP request functionality |
||||
|
- Support for different providers (http, dapr) |
||||
|
- Multi-tenant support |
||||
|
- Service name configuration |
||||
|
- Dapr integration with App ID support |
||||
|
|
||||
|
### Sleep Job |
||||
|
- Delay job execution |
||||
|
- Configurable delay duration in milliseconds |
||||
|
- Default 20-second delay if not specified |
||||
@ -0,0 +1,54 @@ |
|||||
|
# LINGYUN.Abp.BackgroundTasks.Notifications |
||||
|
|
||||
|
Background job execution notification events. |
||||
|
|
||||
|
## Configuration and Usage |
||||
|
|
||||
|
Module reference: |
||||
|
|
||||
|
```csharp |
||||
|
[DependsOn(typeof(AbpBackgroundTasksNotificationsModule))] |
||||
|
public class YouProjectModule : AbpModule |
||||
|
{ |
||||
|
// other |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## Action Parameters |
||||
|
|
||||
|
** Notification content formatting parameters, which will send real-time notifications after job execution: |
||||
|
|
||||
|
* push-provider Optional, specify message push provider |
||||
|
* use-template Optional, template name for formatting notification content |
||||
|
* content Optional, notification content (required if template name is not specified) |
||||
|
* culture Optional, template culture when using template |
||||
|
|
||||
|
## Features |
||||
|
|
||||
|
### Notification Types |
||||
|
- Job Success Notification |
||||
|
- Job Failure Notification |
||||
|
- Job Completion Notification |
||||
|
|
||||
|
### Supported Push Providers |
||||
|
- SignalR (real-time notification) |
||||
|
- SMS (SMS notification) |
||||
|
- Emailing (email notification) |
||||
|
- WeChat.MiniProgram (WeChat Mini Program) |
||||
|
- WxPusher (WxPusher WeChat push service) |
||||
|
- PushPlus (PushPlus multi-platform push service) |
||||
|
|
||||
|
### Notification Features |
||||
|
- Multi-tenant support |
||||
|
- Localization support |
||||
|
- Template-based content formatting |
||||
|
- Multiple push provider support |
||||
|
- Severity-based notifications (Info, Success, Warning, Error) |
||||
|
- Rich notification content with job details: |
||||
|
- Job ID |
||||
|
- Job Group |
||||
|
- Job Name |
||||
|
- Job Type |
||||
|
- Trigger Time |
||||
|
- Tenant Name (if applicable) |
||||
|
- Error Message (for failed jobs) |
||||
@ -0,0 +1,54 @@ |
|||||
|
# LINGYUN.Abp.BackgroundTasks.Quartz |
||||
|
|
||||
|
Background task module implementation based on Quartz, with added listener functionality to notify administrators of task status. |
||||
|
|
||||
|
## Configuration and Usage |
||||
|
|
||||
|
Module reference (refer to Volo.Abp.Quartz module for detailed configuration): |
||||
|
|
||||
|
```csharp |
||||
|
[DependsOn(typeof(AbpBackgroundTasksQuartzModule))] |
||||
|
public class YouProjectModule : AbpModule |
||||
|
{ |
||||
|
// other |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## Features |
||||
|
|
||||
|
### Job Scheduling |
||||
|
- Support for various job types: |
||||
|
- One-time jobs |
||||
|
- Periodic jobs (with Cron expressions) |
||||
|
- Persistent jobs |
||||
|
- Job priority management |
||||
|
- Start/end time scheduling |
||||
|
- Interval-based execution |
||||
|
|
||||
|
### Job Management |
||||
|
- Job queuing and execution |
||||
|
- Job pausing and resuming |
||||
|
- Job triggering on demand |
||||
|
- Job removal and cleanup |
||||
|
|
||||
|
### Job Execution |
||||
|
- Concurrent job execution support |
||||
|
- Job execution context management |
||||
|
- Job parameter passing |
||||
|
- Job result handling |
||||
|
|
||||
|
### Job Monitoring |
||||
|
- Job execution event listening |
||||
|
- Job status tracking |
||||
|
- Error handling and logging |
||||
|
- Multi-tenant support |
||||
|
|
||||
|
### Distributed Features |
||||
|
- Distributed job locking |
||||
|
- Node-specific job execution |
||||
|
- Lock timeout management |
||||
|
|
||||
|
### Adapters |
||||
|
- `QuartzJobSimpleAdapter`: For simple job execution |
||||
|
- `QuartzJobConcurrentAdapter`: For concurrent job execution |
||||
|
- `QuartzJobSearchJobAdapter`: For runtime job discovery |
||||
@ -0,0 +1,150 @@ |
|||||
|
# LINGYUN.Abp.BackgroundTasks |
||||
|
|
||||
|
Background task (queue) module that extends ABP's background jobs and workers with Cron expression support, providing manageable background task (queue) functionality. |
||||
|
|
||||
|
Implements **Volo.Abp.BackgroundJobs.IBackgroundJobManager**, meaning you can add new jobs through the framework's background job interface. |
||||
|
Implements **Volo.Abp.BackgroundWorkers.IBackgroundWorkerManager**, meaning you can add new jobs through the framework's background worker interface. |
||||
|
|
||||
|
## Task Types |
||||
|
|
||||
|
* JobType.Once: One-time task, executed only once, suitable for scenarios like email notifications |
||||
|
* JobType.Period: Periodic task, runs according to a Cron expression, suitable for scenarios like report analysis |
||||
|
* JobType.Persistent: Persistent task, runs according to given repeat count and interval, suitable for scenarios like API stress testing |
||||
|
|
||||
|
## Interface Description |
||||
|
|
||||
|
* [IJobPublisher](/LINGYUN/Abp/BackgroundTasks/IJobPublisher.cs): Job publishing interface, publishes specified jobs to the current node |
||||
|
* [IJobDispatcher](/LINGYUN/Abp/BackgroundTasks/IJobDispatcher.cs): Job dispatching interface, dispatches specified jobs to specified nodes |
||||
|
* [IJobScheduler](/LINGYUN/Abp/BackgroundTasks/IJobScheduler.cs): Scheduler interface, manages job scheduler for the current running node |
||||
|
* [IJobLockProvider](/LINGYUN/Abp/BackgroundTasks/IJobLockProvider.cs): Job locking interface, locks specified jobs to prevent duplicate execution, lock duration is specified by **LockTimeOut** |
||||
|
* [IJobEventTrigger](/LINGYUN/Abp/BackgroundTasks/IJobEventTrigger.cs): Job event trigger interface, listens to events before and after job execution |
||||
|
* [IJobStore](/LINGYUN/Abp/BackgroundTasks/IJobStore.cs): Job persistence interface |
||||
|
|
||||
|
## Configuration and Usage |
||||
|
|
||||
|
Module reference: |
||||
|
|
||||
|
```csharp |
||||
|
[DependsOn(typeof(AbpBackgroundTasksModule))] |
||||
|
public class YouProjectModule : AbpModule |
||||
|
{ |
||||
|
// other |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
Example usage: |
||||
|
|
||||
|
```csharp |
||||
|
public class DemoClass |
||||
|
{ |
||||
|
protected IServiceProvider ServiceProvider { get; } |
||||
|
|
||||
|
public DemoClass(IServiceProvider serviceProvider) |
||||
|
{ |
||||
|
ServiceProvider = serviceProvider; |
||||
|
} |
||||
|
|
||||
|
public async Task Some() |
||||
|
{ |
||||
|
var scheduler = ServiceProvider.GetRequiredService<IJobScheduler>(); |
||||
|
|
||||
|
// Add a periodic task (every 5 seconds) to the queue |
||||
|
await scheduler.QueueAsync(new JobInfo |
||||
|
{ |
||||
|
Type = typeof(ConsoleJob).AssemblyQualifiedName, |
||||
|
Args = new Dictionary<string, object>(), |
||||
|
Name = "Test-Console-Period", |
||||
|
Group = "Test", |
||||
|
Description = "Test-Console", |
||||
|
Id = Guid.NewGuid(), |
||||
|
JobType = JobType.Period, |
||||
|
Priority = Volo.Abp.BackgroundJobs.BackgroundJobPriority.Low, |
||||
|
Cron = "0/5 * * * * ? ", |
||||
|
TryCount = 10, |
||||
|
Status = JobStatus.Running, |
||||
|
// Define this field to handle concurrency |
||||
|
LockTimeOut = 120, |
||||
|
}); |
||||
|
|
||||
|
// Add a one-time task to the queue, to be executed after 10 seconds (Interval) |
||||
|
await scheduler.QueueAsync(new JobInfo |
||||
|
{ |
||||
|
Type = typeof(ConsoleJob).AssemblyQualifiedName, |
||||
|
Args = new Dictionary<string, object>(), |
||||
|
Name = "Test-Console-Once", |
||||
|
Group = "Test", |
||||
|
Description = "Test-Console", |
||||
|
Id = Guid.NewGuid(), |
||||
|
JobType = JobType.Once, |
||||
|
Priority = Volo.Abp.BackgroundJobs.BackgroundJobPriority.Low, |
||||
|
Interval = 10, |
||||
|
TryCount = 10, |
||||
|
Status = JobStatus.Running, |
||||
|
}); |
||||
|
|
||||
|
// Add a persistent task to the queue, to be executed after 10 seconds (Interval), maximum 5 executions (MaxCount) |
||||
|
await scheduler.QueueAsync(new JobInfo |
||||
|
{ |
||||
|
Type = typeof(ConsoleJob).AssemblyQualifiedName, |
||||
|
Args = new Dictionary<string, object>(), |
||||
|
Name = "Test-Console-Persistent", |
||||
|
Group = "Test", |
||||
|
Description = "Test-Console", |
||||
|
Id = Guid.NewGuid(), |
||||
|
JobType = JobType.Persistent, |
||||
|
Priority = Volo.Abp.BackgroundJobs.BackgroundJobPriority.Low, |
||||
|
Interval = 10, |
||||
|
TryCount = 10, |
||||
|
MaxCount = 5, |
||||
|
Status = JobStatus.Running, |
||||
|
}); |
||||
|
|
||||
|
// You can also add framework background jobs to the job scheduler without changing usage habits |
||||
|
var backgroundJobManager = ServiceProvider.GetRequiredService<IBackgroundJobManager>(); |
||||
|
await jobManager.EnqueueAsync( |
||||
|
new SmsJobArgs |
||||
|
{ |
||||
|
PhoneNumber = "13800138000", |
||||
|
Message = "Message from framework background worker" |
||||
|
}, |
||||
|
BackgroundJobPriority.High, |
||||
|
TimeSpan.FromSeconds(10)); |
||||
|
|
||||
|
// Similarly, you can add framework background workers to the job scheduler without changing usage habits |
||||
|
var backgroundWorkManager = ServiceProvider.GetRequiredService<IBackgroundWorkerManager>(); |
||||
|
// Console output every 20 seconds |
||||
|
await backgroundWorkManager.AddAsync(ServiceProvider.GetRequiredService<ConsoleWorker>()); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public class SmsJobArgs |
||||
|
{ |
||||
|
public string PhoneNumber { get; set; } |
||||
|
public string Message { get; set; } |
||||
|
} |
||||
|
|
||||
|
public class SmsJob : AsyncBackgroundJob<SmsJobArgs>, ITransientDependency |
||||
|
{ |
||||
|
public override Task ExecuteAsync(SmsJobArgs args) |
||||
|
{ |
||||
|
Console.WriteLine($"Send sms message: {args.Message}"); |
||||
|
|
||||
|
return Task.CompletedTask; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public class ConsoleWorker : AsyncPeriodicBackgroundWorkerBase, ISingletonDependency |
||||
|
{ |
||||
|
public ConsoleWorker(AbpAsyncTimer timer, IServiceScopeFactory serviceScopeFactory) |
||||
|
: base(timer, serviceScopeFactory) |
||||
|
{ |
||||
|
timer.Period = 20000; |
||||
|
} |
||||
|
|
||||
|
protected override Task DoWorkAsync(PeriodicBackgroundWorkerContext workerContext) |
||||
|
{ |
||||
|
Console.WriteLine($"[{DateTime.Now:yyyy-MM-dd HH:mm:ss}] - ConsoleWorker Do Work."); |
||||
|
return Task.CompletedTask; |
||||
|
} |
||||
|
} |
||||
|
``` |
||||
@ -0,0 +1,72 @@ |
|||||
|
# LINGYUN.Abp.TaskManagement.Application.Contracts |
||||
|
|
||||
|
Application contracts for task management module, defining interfaces and DTOs for application services. |
||||
|
|
||||
|
## Features |
||||
|
|
||||
|
### Application Service Interfaces |
||||
|
- Background Job Info Service: |
||||
|
- CRUD operations |
||||
|
- Job control operations |
||||
|
- Batch operations |
||||
|
- Query operations |
||||
|
- Background Job Action Service: |
||||
|
- Action management |
||||
|
- Action definitions |
||||
|
- Parameter handling |
||||
|
- Background Job Log Service: |
||||
|
- Log retrieval |
||||
|
- Log filtering |
||||
|
- Log deletion |
||||
|
|
||||
|
### Data Transfer Objects (DTOs) |
||||
|
- Background Job Info DTOs: |
||||
|
- Job info DTO |
||||
|
- Job creation DTO |
||||
|
- Job update DTO |
||||
|
- Job list DTO |
||||
|
- Job batch input DTO |
||||
|
- Background Job Action DTOs: |
||||
|
- Action DTO |
||||
|
- Action creation DTO |
||||
|
- Action update DTO |
||||
|
- Action definition DTO |
||||
|
- Action parameter DTO |
||||
|
- Background Job Log DTOs: |
||||
|
- Log DTO |
||||
|
- Log list DTO |
||||
|
- Log filter DTO |
||||
|
|
||||
|
### Permissions |
||||
|
- Background Jobs: |
||||
|
- Create permission |
||||
|
- Update permission |
||||
|
- Delete permission |
||||
|
- Trigger permission |
||||
|
- Pause permission |
||||
|
- Resume permission |
||||
|
- Start permission |
||||
|
- Stop permission |
||||
|
- Background Job Logs: |
||||
|
- View permission |
||||
|
- Delete permission |
||||
|
|
||||
|
### Remote Service Configuration |
||||
|
- Service name constants |
||||
|
- Service endpoint configuration |
||||
|
- Client proxy settings |
||||
|
|
||||
|
### Validation |
||||
|
- Input validation |
||||
|
- Data annotations |
||||
|
- Custom validation rules |
||||
|
|
||||
|
### Integration Features |
||||
|
- ABP Framework integration |
||||
|
- Dynamic query support |
||||
|
- Application service layer abstraction |
||||
|
|
||||
|
### Module Configuration |
||||
|
- Module dependencies |
||||
|
- Service registration |
||||
|
- Feature management |
||||
@ -0,0 +1,72 @@ |
|||||
|
# LINGYUN.Abp.TaskManagement.Application.Contracts |
||||
|
|
||||
|
任务管理模块的应用程序契约,定义应用服务的接口和DTO。 |
||||
|
|
||||
|
## 功能 |
||||
|
|
||||
|
### 应用服务接口 |
||||
|
- 后台作业信息服务: |
||||
|
- CRUD操作 |
||||
|
- 作业控制操作 |
||||
|
- 批量操作 |
||||
|
- 查询操作 |
||||
|
- 后台作业行为服务: |
||||
|
- 行为管理 |
||||
|
- 行为定义 |
||||
|
- 参数处理 |
||||
|
- 后台作业日志服务: |
||||
|
- 日志检索 |
||||
|
- 日志过滤 |
||||
|
- 日志删除 |
||||
|
|
||||
|
### 数据传输对象(DTOs) |
||||
|
- 后台作业信息DTOs: |
||||
|
- 作业信息DTO |
||||
|
- 作业创建DTO |
||||
|
- 作业更新DTO |
||||
|
- 作业列表DTO |
||||
|
- 作业批量输入DTO |
||||
|
- 后台作业行为DTOs: |
||||
|
- 行为DTO |
||||
|
- 行为创建DTO |
||||
|
- 行为更新DTO |
||||
|
- 行为定义DTO |
||||
|
- 行为参数DTO |
||||
|
- 后台作业日志DTOs: |
||||
|
- 日志DTO |
||||
|
- 日志列表DTO |
||||
|
- 日志过滤DTO |
||||
|
|
||||
|
### 权限 |
||||
|
- 后台作业: |
||||
|
- 创建权限 |
||||
|
- 更新权限 |
||||
|
- 删除权限 |
||||
|
- 触发权限 |
||||
|
- 暂停权限 |
||||
|
- 恢复权限 |
||||
|
- 启动权限 |
||||
|
- 停止权限 |
||||
|
- 后台作业日志: |
||||
|
- 查看权限 |
||||
|
- 删除权限 |
||||
|
|
||||
|
### 远程服务配置 |
||||
|
- 服务名称常量 |
||||
|
- 服务端点配置 |
||||
|
- 客户端代理设置 |
||||
|
|
||||
|
### 验证 |
||||
|
- 输入验证 |
||||
|
- 数据注解 |
||||
|
- 自定义验证规则 |
||||
|
|
||||
|
### 集成功能 |
||||
|
- ABP框架集成 |
||||
|
- 动态查询支持 |
||||
|
- 应用服务层抽象 |
||||
|
|
||||
|
### 模块配置 |
||||
|
- 模块依赖 |
||||
|
- 服务注册 |
||||
|
- 功能管理 |
||||
@ -0,0 +1,88 @@ |
|||||
|
# LINGYUN.Abp.TaskManagement.Application |
||||
|
|
||||
|
The application layer implementation of the task management module, providing core functionality for background job management. |
||||
|
|
||||
|
## Features |
||||
|
|
||||
|
### Background Job Management Service |
||||
|
- Background Job Info Service (BackgroundJobInfoAppService) |
||||
|
- Implements CRUD operations for jobs |
||||
|
- Provides job control functions (start, stop, pause, resume, etc.) |
||||
|
- Supports batch operations |
||||
|
- Implements job querying and filtering |
||||
|
|
||||
|
### Background Job Action Service (BackgroundJobActionAppService) |
||||
|
- Action Management Features: |
||||
|
- Add job actions |
||||
|
- Update job actions |
||||
|
- Delete job actions |
||||
|
- Get list of job actions |
||||
|
- Action Definition Management: |
||||
|
- Get available action definitions |
||||
|
- Action parameter configuration |
||||
|
- Action enable/disable control |
||||
|
|
||||
|
### Background Job Log Service (BackgroundJobLogAppService) |
||||
|
- Log Management Features: |
||||
|
- Get log details |
||||
|
- Get log list |
||||
|
- Delete log records |
||||
|
- Log Query Features: |
||||
|
- Support for multiple condition queries |
||||
|
- Pagination |
||||
|
- Sorting functionality |
||||
|
- Advanced filtering |
||||
|
|
||||
|
### Object Mapping Configuration |
||||
|
- AutoMapper Profile: |
||||
|
- Mapping from BackgroundJobInfo to BackgroundJobInfoDto |
||||
|
- Mapping from BackgroundJobLog to BackgroundJobLogDto |
||||
|
- Mapping from BackgroundJobAction to BackgroundJobActionDto |
||||
|
|
||||
|
### Module Configuration |
||||
|
- Dependencies: |
||||
|
- AbpAutoMapper |
||||
|
- AbpDynamicQueryable |
||||
|
- TaskManagementDomain |
||||
|
- TaskManagementApplication.Contracts |
||||
|
- Service Configuration: |
||||
|
- Automatic object mapping configuration |
||||
|
- Validation configuration |
||||
|
|
||||
|
### Extended Features |
||||
|
- Expression Extensions: |
||||
|
- AndIf conditional expression |
||||
|
- OrIf conditional expression |
||||
|
- Dynamic query support |
||||
|
- Localization resource integration |
||||
|
|
||||
|
## Usage |
||||
|
|
||||
|
1. Add module dependency: |
||||
|
```csharp |
||||
|
[DependsOn(typeof(TaskManagementApplicationModule))] |
||||
|
public class YourModule : AbpModule |
||||
|
{ |
||||
|
// ... |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
2. Inject and use services: |
||||
|
```csharp |
||||
|
public class YourService |
||||
|
{ |
||||
|
private readonly IBackgroundJobInfoAppService _jobInfoAppService; |
||||
|
private readonly IBackgroundJobActionAppService _jobActionAppService; |
||||
|
private readonly IBackgroundJobLogAppService _jobLogAppService; |
||||
|
|
||||
|
public YourService( |
||||
|
IBackgroundJobInfoAppService jobInfoAppService, |
||||
|
IBackgroundJobActionAppService jobActionAppService, |
||||
|
IBackgroundJobLogAppService jobLogAppService) |
||||
|
{ |
||||
|
_jobInfoAppService = jobInfoAppService; |
||||
|
_jobActionAppService = jobActionAppService; |
||||
|
_jobLogAppService = jobLogAppService; |
||||
|
} |
||||
|
} |
||||
|
``` |
||||
@ -0,0 +1,88 @@ |
|||||
|
# LINGYUN.Abp.TaskManagement.Application |
||||
|
|
||||
|
任务管理模块的应用层实现,提供后台作业管理的核心功能实现。 |
||||
|
|
||||
|
## 功能实现 |
||||
|
|
||||
|
### 后台作业管理服务 |
||||
|
- 后台作业信息服务 (BackgroundJobInfoAppService) |
||||
|
- 实现作业的CRUD操作 |
||||
|
- 提供作业控制功能(启动、停止、暂停、恢复等) |
||||
|
- 支持批量操作功能 |
||||
|
- 实现作业查询和过滤 |
||||
|
|
||||
|
### 后台作业行为服务 (BackgroundJobActionAppService) |
||||
|
- 行为管理功能: |
||||
|
- 添加作业行为 |
||||
|
- 更新作业行为 |
||||
|
- 删除作业行为 |
||||
|
- 获取作业行为列表 |
||||
|
- 行为定义管理: |
||||
|
- 获取可用的行为定义 |
||||
|
- 行为参数配置 |
||||
|
- 行为启用/禁用控制 |
||||
|
|
||||
|
### 后台作业日志服务 (BackgroundJobLogAppService) |
||||
|
- 日志管理功能: |
||||
|
- 获取日志详情 |
||||
|
- 获取日志列表 |
||||
|
- 删除日志记录 |
||||
|
- 日志查询功能: |
||||
|
- 支持多条件组合查询 |
||||
|
- 分页查询 |
||||
|
- 排序功能 |
||||
|
- 高级过滤 |
||||
|
|
||||
|
### 对象映射配置 |
||||
|
- AutoMapper配置文件: |
||||
|
- BackgroundJobInfo到BackgroundJobInfoDto的映射 |
||||
|
- BackgroundJobLog到BackgroundJobLogDto的映射 |
||||
|
- BackgroundJobAction到BackgroundJobActionDto的映射 |
||||
|
|
||||
|
### 模块配置 |
||||
|
- 依赖模块: |
||||
|
- AbpAutoMapper |
||||
|
- AbpDynamicQueryable |
||||
|
- TaskManagementDomain |
||||
|
- TaskManagementApplication.Contracts |
||||
|
- 服务配置: |
||||
|
- 自动对象映射配置 |
||||
|
- 验证配置 |
||||
|
|
||||
|
### 扩展功能 |
||||
|
- 表达式扩展: |
||||
|
- AndIf条件表达式 |
||||
|
- OrIf条件表达式 |
||||
|
- 动态查询支持 |
||||
|
- 本地化资源集成 |
||||
|
|
||||
|
## 使用方式 |
||||
|
|
||||
|
1. 添加模块依赖: |
||||
|
```csharp |
||||
|
[DependsOn(typeof(TaskManagementApplicationModule))] |
||||
|
public class YourModule : AbpModule |
||||
|
{ |
||||
|
// ... |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
2. 注入并使用服务: |
||||
|
```csharp |
||||
|
public class YourService |
||||
|
{ |
||||
|
private readonly IBackgroundJobInfoAppService _jobInfoAppService; |
||||
|
private readonly IBackgroundJobActionAppService _jobActionAppService; |
||||
|
private readonly IBackgroundJobLogAppService _jobLogAppService; |
||||
|
|
||||
|
public YourService( |
||||
|
IBackgroundJobInfoAppService jobInfoAppService, |
||||
|
IBackgroundJobActionAppService jobActionAppService, |
||||
|
IBackgroundJobLogAppService jobLogAppService) |
||||
|
{ |
||||
|
_jobInfoAppService = jobInfoAppService; |
||||
|
_jobActionAppService = jobActionAppService; |
||||
|
_jobLogAppService = jobLogAppService; |
||||
|
} |
||||
|
} |
||||
|
``` |
||||
@ -0,0 +1,68 @@ |
|||||
|
# LINGYUN.Abp.TaskManagement.Domain.Shared |
||||
|
|
||||
|
Domain shared module for task management, containing shared domain models, enums, and constants. |
||||
|
|
||||
|
## Features |
||||
|
|
||||
|
### Permission Management |
||||
|
- Task Management permissions |
||||
|
- Background job permissions |
||||
|
- Job action permissions |
||||
|
- Job log permissions |
||||
|
|
||||
|
### Job Types and Status |
||||
|
- Job Types: |
||||
|
- One-off jobs (executed once) |
||||
|
- Periodic jobs (executed periodically) |
||||
|
- Persistent jobs (executed repeatedly) |
||||
|
- Job Status: |
||||
|
- None |
||||
|
- Completed |
||||
|
- Running |
||||
|
- Queuing |
||||
|
- Paused |
||||
|
- Failed Retry |
||||
|
- Stopped |
||||
|
|
||||
|
### Priority Levels |
||||
|
- Low |
||||
|
- Below Normal |
||||
|
- Normal |
||||
|
- Above Normal |
||||
|
- High |
||||
|
|
||||
|
### Job Properties |
||||
|
- Basic Information: |
||||
|
- Group |
||||
|
- Name |
||||
|
- Description |
||||
|
- Type |
||||
|
- Status |
||||
|
- Begin/End Time |
||||
|
- Execution Settings: |
||||
|
- Interval (in seconds) |
||||
|
- Cron expression |
||||
|
- Lock timeout |
||||
|
- Priority |
||||
|
- Maximum trigger count |
||||
|
- Maximum retry count |
||||
|
- Tracking Information: |
||||
|
- Creation time |
||||
|
- Last run time |
||||
|
- Next run time |
||||
|
- Trigger count |
||||
|
- Try count |
||||
|
- Execution result |
||||
|
|
||||
|
### Localization |
||||
|
- Support for multiple languages |
||||
|
- Error code localization |
||||
|
- UI text localization |
||||
|
|
||||
|
### Multi-tenancy Support |
||||
|
- Tenant-specific job management |
||||
|
- System-level job management |
||||
|
|
||||
|
### Source Types |
||||
|
- User jobs |
||||
|
- System jobs |
||||
@ -0,0 +1,68 @@ |
|||||
|
# LINGYUN.Abp.TaskManagement.Domain.Shared |
||||
|
|
||||
|
任务管理领域共享模块,包含共享的领域模型、枚举和常量。 |
||||
|
|
||||
|
## 功能 |
||||
|
|
||||
|
### 权限管理 |
||||
|
- 任务调度平台权限 |
||||
|
- 后台作业权限 |
||||
|
- 作业行为权限 |
||||
|
- 作业日志权限 |
||||
|
|
||||
|
### 作业类型和状态 |
||||
|
- 作业类型: |
||||
|
- 一次性作业(只执行一次) |
||||
|
- 周期性作业(按照给定条件周期性运行) |
||||
|
- 持续性作业(按照给定条件重复运行) |
||||
|
- 作业状态: |
||||
|
- 未定义 |
||||
|
- 已完成 |
||||
|
- 运行中 |
||||
|
- 队列中 |
||||
|
- 已暂停 |
||||
|
- 失败重试 |
||||
|
- 已停止 |
||||
|
|
||||
|
### 优先级别 |
||||
|
- 低 |
||||
|
- 低于正常 |
||||
|
- 正常 |
||||
|
- 高于正常 |
||||
|
- 高 |
||||
|
|
||||
|
### 作业属性 |
||||
|
- 基本信息: |
||||
|
- 分组 |
||||
|
- 名称 |
||||
|
- 描述 |
||||
|
- 类型 |
||||
|
- 状态 |
||||
|
- 开始/结束时间 |
||||
|
- 执行设置: |
||||
|
- 时间间隔(秒) |
||||
|
- Cron表达式 |
||||
|
- 锁定超时时间 |
||||
|
- 优先级 |
||||
|
- 最大触发次数 |
||||
|
- 最大重试次数 |
||||
|
- 跟踪信息: |
||||
|
- 创建时间 |
||||
|
- 上次执行时间 |
||||
|
- 下次预期时间 |
||||
|
- 触发次数 |
||||
|
- 尝试次数 |
||||
|
- 执行结果 |
||||
|
|
||||
|
### 本地化 |
||||
|
- 支持多语言 |
||||
|
- 错误代码本地化 |
||||
|
- UI文本本地化 |
||||
|
|
||||
|
### 多租户支持 |
||||
|
- 租户级作业管理 |
||||
|
- 系统级作业管理 |
||||
|
|
||||
|
### 来源类型 |
||||
|
- 用户作业 |
||||
|
- 系统内置作业 |
||||
@ -0,0 +1,75 @@ |
|||||
|
# LINGYUN.Abp.TaskManagement.Domain |
||||
|
|
||||
|
Domain module for task management, implementing core business logic and domain models. |
||||
|
|
||||
|
## Features |
||||
|
|
||||
|
### Background Job Management |
||||
|
- Job lifecycle management (create, update, delete) |
||||
|
- Job status control (start, stop, pause, resume, trigger) |
||||
|
- Support for different job types: |
||||
|
- One-off jobs |
||||
|
- Periodic jobs (with cron expressions) |
||||
|
- Persistent jobs (with intervals) |
||||
|
|
||||
|
### Job Store |
||||
|
- Store job information and execution status |
||||
|
- Track job execution history |
||||
|
- Clean up expired jobs |
||||
|
- Support for multi-tenancy |
||||
|
|
||||
|
### Job Synchronization |
||||
|
- Synchronize job status across distributed systems |
||||
|
- Handle job creation, update, and deletion events |
||||
|
- Maintain job queue consistency |
||||
|
|
||||
|
### Job Actions |
||||
|
- Manage job-related actions |
||||
|
- Store action parameters |
||||
|
- Enable/disable actions |
||||
|
|
||||
|
### Job Filtering and Specifications |
||||
|
- Filter jobs by multiple criteria: |
||||
|
- Type |
||||
|
- Group |
||||
|
- Name |
||||
|
- Status |
||||
|
- Priority |
||||
|
- Source |
||||
|
- Creation time |
||||
|
- Last run time |
||||
|
- Support for complex job queries |
||||
|
|
||||
|
### Job Logging |
||||
|
- Log job execution details |
||||
|
- Track execution results and exceptions |
||||
|
- Support for multi-tenancy in logging |
||||
|
|
||||
|
### Domain Events |
||||
|
- Job status change events |
||||
|
- Job execution events |
||||
|
- Distributed event handling |
||||
|
|
||||
|
### Job Priority Management |
||||
|
- Support multiple priority levels: |
||||
|
- Low |
||||
|
- Below Normal |
||||
|
- Normal |
||||
|
- Above Normal |
||||
|
- High |
||||
|
|
||||
|
### Job Source Management |
||||
|
- Support different job sources: |
||||
|
- User jobs |
||||
|
- System jobs |
||||
|
|
||||
|
### Multi-tenancy Support |
||||
|
- Tenant-specific job management |
||||
|
- Cross-tenant job operations |
||||
|
- Tenant isolation in job execution |
||||
|
|
||||
|
### Domain Services |
||||
|
- Background job manager |
||||
|
- Job store service |
||||
|
- Job action service |
||||
|
- Job log service |
||||
@ -0,0 +1,75 @@ |
|||||
|
# LINGYUN.Abp.TaskManagement.Domain |
||||
|
|
||||
|
任务管理领域模块,实现核心业务逻辑和领域模型。 |
||||
|
|
||||
|
## 功能 |
||||
|
|
||||
|
### 后台作业管理 |
||||
|
- 作业生命周期管理(创建、更新、删除) |
||||
|
- 作业状态控制(启动、停止、暂停、恢复、触发) |
||||
|
- 支持不同类型的作业: |
||||
|
- 一次性作业 |
||||
|
- 周期性作业(使用cron表达式) |
||||
|
- 持续性作业(使用时间间隔) |
||||
|
|
||||
|
### 作业存储 |
||||
|
- 存储作业信息和执行状态 |
||||
|
- 跟踪作业执行历史 |
||||
|
- 清理过期作业 |
||||
|
- 支持多租户 |
||||
|
|
||||
|
### 作业同步 |
||||
|
- 在分布式系统中同步作业状态 |
||||
|
- 处理作业创建、更新和删除事件 |
||||
|
- 维护作业队列一致性 |
||||
|
|
||||
|
### 作业行为 |
||||
|
- 管理作业相关行为 |
||||
|
- 存储行为参数 |
||||
|
- 启用/禁用行为 |
||||
|
|
||||
|
### 作业过滤和规范 |
||||
|
- 通过多个条件过滤作业: |
||||
|
- 类型 |
||||
|
- 分组 |
||||
|
- 名称 |
||||
|
- 状态 |
||||
|
- 优先级 |
||||
|
- 来源 |
||||
|
- 创建时间 |
||||
|
- 上次运行时间 |
||||
|
- 支持复杂作业查询 |
||||
|
|
||||
|
### 作业日志 |
||||
|
- 记录作业执行详情 |
||||
|
- 跟踪执行结果和异常 |
||||
|
- 支持多租户日志记录 |
||||
|
|
||||
|
### 领域事件 |
||||
|
- 作业状态变更事件 |
||||
|
- 作业执行事件 |
||||
|
- 分布式事件处理 |
||||
|
|
||||
|
### 作业优先级管理 |
||||
|
- 支持多个优先级别: |
||||
|
- 低 |
||||
|
- 低于正常 |
||||
|
- 正常 |
||||
|
- 高于正常 |
||||
|
- 高 |
||||
|
|
||||
|
### 作业来源管理 |
||||
|
- 支持不同的作业来源: |
||||
|
- 用户作业 |
||||
|
- 系统作业 |
||||
|
|
||||
|
### 多租户支持 |
||||
|
- 租户特定的作业管理 |
||||
|
- 跨租户作业操作 |
||||
|
- 作业执行中的租户隔离 |
||||
|
|
||||
|
### 领域服务 |
||||
|
- 后台作业管理器 |
||||
|
- 作业存储服务 |
||||
|
- 作业行为服务 |
||||
|
- 作业日志服务 |
||||
@ -0,0 +1,64 @@ |
|||||
|
# LINGYUN.Abp.TaskManagement.EntityFrameworkCore |
||||
|
|
||||
|
Entity Framework Core implementation for task management module, providing database access and persistence. |
||||
|
|
||||
|
## Features |
||||
|
|
||||
|
### Database Context |
||||
|
- TaskManagementDbContext for managing database operations |
||||
|
- Configurable table prefix and schema |
||||
|
- Support for multi-tenancy |
||||
|
|
||||
|
### Entity Configurations |
||||
|
- Background Job Info: |
||||
|
- Table name: {prefix}BackgroundJobs |
||||
|
- Indexes on Name and Group |
||||
|
- Properties with length constraints |
||||
|
- Extra properties support |
||||
|
- Background Job Log: |
||||
|
- Table name: {prefix}BackgroundJobLogs |
||||
|
- Indexes on JobGroup and JobName |
||||
|
- Properties with length constraints |
||||
|
- Background Job Action: |
||||
|
- Table name: {prefix}BackgroundJobActions |
||||
|
- Index on Name |
||||
|
- Extra properties support for parameters |
||||
|
|
||||
|
### Repository Implementations |
||||
|
- Background Job Info Repository: |
||||
|
- CRUD operations |
||||
|
- Job status management |
||||
|
- Job filtering and querying |
||||
|
- Support for job expiration |
||||
|
- Waiting job list management |
||||
|
- Period task management |
||||
|
- Background Job Log Repository: |
||||
|
- Log storage and retrieval |
||||
|
- Log filtering and querying |
||||
|
- Pagination support |
||||
|
- Background Job Action Repository: |
||||
|
- Action storage and retrieval |
||||
|
- Parameter management |
||||
|
|
||||
|
### Query Features |
||||
|
- Dynamic sorting |
||||
|
- Pagination |
||||
|
- Filtering by specifications |
||||
|
- Asynchronous operations |
||||
|
- No-tracking queries for read-only operations |
||||
|
|
||||
|
### Performance Optimizations |
||||
|
- Efficient indexing |
||||
|
- Batch operations support |
||||
|
- Optimized queries for job status |
||||
|
|
||||
|
### Multi-tenancy Support |
||||
|
- Tenant-specific data isolation |
||||
|
- Cross-tenant operations |
||||
|
- Tenant-aware repositories |
||||
|
|
||||
|
### Integration Features |
||||
|
- ABP Framework integration |
||||
|
- Entity Framework Core conventions |
||||
|
- Value converters for complex types |
||||
|
- Extra properties support |
||||
@ -0,0 +1,64 @@ |
|||||
|
# LINGYUN.Abp.TaskManagement.EntityFrameworkCore |
||||
|
|
||||
|
任务管理模块的Entity Framework Core实现,提供数据库访问和持久化。 |
||||
|
|
||||
|
## 功能 |
||||
|
|
||||
|
### 数据库上下文 |
||||
|
- TaskManagementDbContext用于管理数据库操作 |
||||
|
- 可配置的表前缀和架构 |
||||
|
- 支持多租户 |
||||
|
|
||||
|
### 实体配置 |
||||
|
- 后台作业信息: |
||||
|
- 表名:{prefix}BackgroundJobs |
||||
|
- 对Name和Group建立索引 |
||||
|
- 带长度约束的属性 |
||||
|
- 支持额外属性 |
||||
|
- 后台作业日志: |
||||
|
- 表名:{prefix}BackgroundJobLogs |
||||
|
- 对JobGroup和JobName建立索引 |
||||
|
- 带长度约束的属性 |
||||
|
- 后台作业行为: |
||||
|
- 表名:{prefix}BackgroundJobActions |
||||
|
- 对Name建立索引 |
||||
|
- 支持参数的额外属性 |
||||
|
|
||||
|
### 仓储实现 |
||||
|
- 后台作业信息仓储: |
||||
|
- CRUD操作 |
||||
|
- 作业状态管理 |
||||
|
- 作业过滤和查询 |
||||
|
- 支持作业过期 |
||||
|
- 等待作业列表管理 |
||||
|
- 周期性任务管理 |
||||
|
- 后台作业日志仓储: |
||||
|
- 日志存储和检索 |
||||
|
- 日志过滤和查询 |
||||
|
- 分页支持 |
||||
|
- 后台作业行为仓储: |
||||
|
- 行为存储和检索 |
||||
|
- 参数管理 |
||||
|
|
||||
|
### 查询功能 |
||||
|
- 动态排序 |
||||
|
- 分页 |
||||
|
- 按规范过滤 |
||||
|
- 异步操作 |
||||
|
- 只读操作的无跟踪查询 |
||||
|
|
||||
|
### 性能优化 |
||||
|
- 高效索引 |
||||
|
- 支持批量操作 |
||||
|
- 针对作业状态的优化查询 |
||||
|
|
||||
|
### 多租户支持 |
||||
|
- 租户特定的数据隔离 |
||||
|
- 跨租户操作 |
||||
|
- 租户感知的仓储 |
||||
|
|
||||
|
### 集成功能 |
||||
|
- ABP框架集成 |
||||
|
- Entity Framework Core约定 |
||||
|
- 复杂类型的值转换器 |
||||
|
- 额外属性支持 |
||||
@ -0,0 +1,45 @@ |
|||||
|
# LINGYUN.Abp.TaskManagement.HttpApi.Client |
||||
|
|
||||
|
HTTP API client implementation for task management module, providing client-side proxy services for remote API calls. |
||||
|
|
||||
|
## Features |
||||
|
|
||||
|
### HTTP Client Proxies |
||||
|
- Automatic proxy generation for application contracts |
||||
|
- Type-safe client interfaces |
||||
|
- Strongly-typed DTOs |
||||
|
|
||||
|
### Remote Service Configuration |
||||
|
- Remote service name configuration |
||||
|
- Service endpoint configuration |
||||
|
- Client options configuration |
||||
|
|
||||
|
### Authentication |
||||
|
- Token-based authentication support |
||||
|
- Authentication header handling |
||||
|
- Secure communication |
||||
|
|
||||
|
### Service Integration |
||||
|
- Seamless integration with ABP Framework |
||||
|
- Dynamic HTTP client configuration |
||||
|
- Automatic service registration |
||||
|
|
||||
|
### Error Handling |
||||
|
- Exception translation |
||||
|
- Error response handling |
||||
|
- Retry policies |
||||
|
|
||||
|
### Client Features |
||||
|
- Asynchronous operations |
||||
|
- Request/response interceptors |
||||
|
- Automatic content negotiation |
||||
|
|
||||
|
### Dependency Injection |
||||
|
- Automatic dependency registration |
||||
|
- Scoped service lifetime |
||||
|
- Service resolution |
||||
|
|
||||
|
### Module Configuration |
||||
|
- Module dependency management |
||||
|
- Service configuration |
||||
|
- Client proxy configuration |
||||
@ -0,0 +1,45 @@ |
|||||
|
# LINGYUN.Abp.TaskManagement.HttpApi.Client |
||||
|
|
||||
|
任务管理模块的HTTP API客户端实现,提供远程API调用的客户端代理服务。 |
||||
|
|
||||
|
## 功能 |
||||
|
|
||||
|
### HTTP客户端代理 |
||||
|
- 自动生成应用程序契约的代理 |
||||
|
- 类型安全的客户端接口 |
||||
|
- 强类型DTO |
||||
|
|
||||
|
### 远程服务配置 |
||||
|
- 远程服务名称配置 |
||||
|
- 服务端点配置 |
||||
|
- 客户端选项配置 |
||||
|
|
||||
|
### 身份认证 |
||||
|
- 基于令牌的身份认证支持 |
||||
|
- 认证头处理 |
||||
|
- 安全通信 |
||||
|
|
||||
|
### 服务集成 |
||||
|
- 与ABP框架的无缝集成 |
||||
|
- 动态HTTP客户端配置 |
||||
|
- 自动服务注册 |
||||
|
|
||||
|
### 错误处理 |
||||
|
- 异常转换 |
||||
|
- 错误响应处理 |
||||
|
- 重试策略 |
||||
|
|
||||
|
### 客户端功能 |
||||
|
- 异步操作 |
||||
|
- 请求/响应拦截器 |
||||
|
- 自动内容协商 |
||||
|
|
||||
|
### 依赖注入 |
||||
|
- 自动依赖注册 |
||||
|
- 作用域服务生命周期 |
||||
|
- 服务解析 |
||||
|
|
||||
|
### 模块配置 |
||||
|
- 模块依赖管理 |
||||
|
- 服务配置 |
||||
|
- 客户端代理配置 |
||||
@ -0,0 +1,80 @@ |
|||||
|
# LINGYUN.Abp.TaskManagement.HttpApi |
||||
|
|
||||
|
HTTP API implementation for task management module, providing RESTful endpoints for managing background jobs. |
||||
|
|
||||
|
## Features |
||||
|
|
||||
|
### Background Job Info API |
||||
|
- CRUD operations: |
||||
|
- Create new jobs |
||||
|
- Get job details |
||||
|
- Update job properties |
||||
|
- Delete jobs |
||||
|
- Job control operations: |
||||
|
- Start jobs |
||||
|
- Stop jobs |
||||
|
- Pause jobs |
||||
|
- Resume jobs |
||||
|
- Trigger jobs |
||||
|
- Batch operations: |
||||
|
- Bulk start |
||||
|
- Bulk stop |
||||
|
- Bulk pause |
||||
|
- Bulk resume |
||||
|
- Bulk trigger |
||||
|
- Bulk delete |
||||
|
- Query operations: |
||||
|
- Get job list with pagination |
||||
|
- Get job definitions |
||||
|
- Filter and sort jobs |
||||
|
|
||||
|
### Background Job Action API |
||||
|
- Action management: |
||||
|
- Add actions to jobs |
||||
|
- Update action properties |
||||
|
- Delete actions |
||||
|
- Get action list |
||||
|
- Action definitions: |
||||
|
- Get available action definitions |
||||
|
- Query action definitions |
||||
|
|
||||
|
### Background Job Log API |
||||
|
- Log operations: |
||||
|
- Get log details |
||||
|
- Get log list with pagination |
||||
|
- Delete logs |
||||
|
- Log filtering: |
||||
|
- Filter by job |
||||
|
- Filter by time range |
||||
|
- Filter by status |
||||
|
|
||||
|
### Authorization |
||||
|
- Permission-based access control: |
||||
|
- Create job permission |
||||
|
- Update job permission |
||||
|
- Delete job permission |
||||
|
- Trigger job permission |
||||
|
- Pause job permission |
||||
|
- Resume job permission |
||||
|
- Start job permission |
||||
|
- Stop job permission |
||||
|
- Delete log permission |
||||
|
|
||||
|
### API Features |
||||
|
- RESTful endpoints |
||||
|
- HTTP method-based operations |
||||
|
- Route-based API versioning |
||||
|
- Standardized response formats |
||||
|
- Pagination support |
||||
|
- Dynamic filtering and sorting |
||||
|
|
||||
|
### Localization |
||||
|
- Multi-language support |
||||
|
- Localized error messages |
||||
|
- Localized validation messages |
||||
|
|
||||
|
### Integration |
||||
|
- ABP Framework integration |
||||
|
- MVC integration |
||||
|
- Dynamic query support |
||||
|
- Validation support |
||||
@ -0,0 +1,80 @@ |
|||||
|
# LINGYUN.Abp.TaskManagement.HttpApi |
||||
|
|
||||
|
任务管理模块的HTTP API实现,提供用于管理后台作业的RESTful接口。 |
||||
|
|
||||
|
## 功能 |
||||
|
|
||||
|
### 后台作业信息API |
||||
|
- CRUD操作: |
||||
|
- 创建新作业 |
||||
|
- 获取作业详情 |
||||
|
- 更新作业属性 |
||||
|
- 删除作业 |
||||
|
- 作业控制操作: |
||||
|
- 启动作业 |
||||
|
- 停止作业 |
||||
|
- 暂停作业 |
||||
|
- 恢复作业 |
||||
|
- 触发作业 |
||||
|
- 批量操作: |
||||
|
- 批量启动 |
||||
|
- 批量停止 |
||||
|
- 批量暂停 |
||||
|
- 批量恢复 |
||||
|
- 批量触发 |
||||
|
- 批量删除 |
||||
|
- 查询操作: |
||||
|
- 获取分页作业列表 |
||||
|
- 获取作业定义 |
||||
|
- 过滤和排序作业 |
||||
|
|
||||
|
### 后台作业行为API |
||||
|
- 行为管理: |
||||
|
- 添加作业行为 |
||||
|
- 更新行为属性 |
||||
|
- 删除行为 |
||||
|
- 获取行为列表 |
||||
|
- 行为定义: |
||||
|
- 获取可用行为定义 |
||||
|
- 查询行为定义 |
||||
|
|
||||
|
### 后台作业日志API |
||||
|
- 日志操作: |
||||
|
- 获取日志详情 |
||||
|
- 获取分页日志列表 |
||||
|
- 删除日志 |
||||
|
- 日志过滤: |
||||
|
- 按作业过滤 |
||||
|
- 按时间范围过滤 |
||||
|
- 按状态过滤 |
||||
|
|
||||
|
### 授权 |
||||
|
- 基于权限的访问控制: |
||||
|
- 创建作业权限 |
||||
|
- 更新作业权限 |
||||
|
- 删除作业权限 |
||||
|
- 触发作业权限 |
||||
|
- 暂停作业权限 |
||||
|
- 恢复作业权限 |
||||
|
- 启动作业权限 |
||||
|
- 停止作业权限 |
||||
|
- 删除日志权限 |
||||
|
|
||||
|
### API特性 |
||||
|
- RESTful接口 |
||||
|
- 基于HTTP方法的操作 |
||||
|
- 基于路由的API版本控制 |
||||
|
- 标准化的响应格式 |
||||
|
- 分页支持 |
||||
|
- 动态过滤和排序 |
||||
|
|
||||
|
### 本地化 |
||||
|
- 多语言支持 |
||||
|
- 本地化错误消息 |
||||
|
- 本地化验证消息 |
||||
|
|
||||
|
### 集成 |
||||
|
- ABP框架集成 |
||||
|
- MVC集成 |
||||
|
- 动态查询支持 |
||||
|
- 验证支持 |
||||
Loading…
Reference in new issue