Skip to content

Commit 0bf80c6

Browse files
committed
update
1 parent 90e21e4 commit 0bf80c6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+78
-13230
lines changed

README.md

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,16 @@
22

33
[English](README.md) | [中文](README.zh-CN.md)
44

5-
![License](https://img.shields.io/badge/license-MIT-blue.svg)
5+
![License](https://img.shields.io/badge/license-GPL-blue.svg)
66
![Rust](https://img.shields.io/badge/rust-1.70+-orange.svg)
7-
![Go Compatible](https://img.shields.io/badge/go%20compatible-hibiken%2Fasynq-green.svg)
87

98
Asynq is a simple, reliable, and efficient distributed task queue library written in Rust, backed by Redis, inspired by [hibiken/asynq](https://github.com/hibiken/asynq).
109

1110
**🔗 Fully Compatible with Go asynq**: This implementation is fully compatible with the Go version of [hibiken/asynq](https://github.com/hibiken/asynq), allowing seamless interoperation with Go services.
1211

1312
## 🌟 Features
1413

15-
- **Guaranteed at-least-once execution** - Tasks won't be lost
14+
- **Guaranteed at-least-once execution** - Tasks won't be lost
1615
-**Task scheduling** - Support for delayed and scheduled tasks
1716
- 🔄 **Automatic retry** - Configurable retry policies for failed tasks
1817
- 🛡️ **Fault recovery** - Automatic task recovery on worker crashes
@@ -369,22 +368,22 @@ asynq/
369368

370369
The Processor module implements task processing architecture compatible with Go asynq processor.go:
371370

372-
- **Semaphore concurrency control**: Uses Tokio Semaphore for precise control of concurrent workers
373-
- **Queue priority**: Supports both strict priority and weighted priority modes
374-
- **Task timeout**: Supports task-level and global timeout settings
375-
- **Graceful shutdown**: Waits for all active workers to complete before shutdown
376-
- **Automatic retry**: Failed tasks automatically retry with exponential backoff
377-
- **Task archiving**: Tasks automatically archived after reaching max retry count
371+
- **Semaphore concurrency control**: Uses Tokio Semaphore for precise control of concurrent workers
372+
- **Queue priority**: Supports both strict priority and weighted priority modes
373+
- **Task timeout**: Supports task-level and global timeout settings
374+
- **Graceful shutdown**: Waits for all active workers to complete before shutdown
375+
- **Automatic retry**: Failed tasks automatically retry with exponential backoff
376+
- **Task archiving**: Tasks automatically archived after reaching max retry count
378377

379378
### GroupAggregator Features
380379

381380
The GroupAggregator module implements task aggregation functionality compatible with Go asynq aggregator.go:
382381

383-
- **Task grouping**: Set group label for tasks using `with_group()`
384-
- **Batch aggregation**: Automatically aggregate tasks from the same group into a single batch task
385-
- **Flexible triggers**: Supports three trigger conditions: grace period, max group size, max delay
386-
- **Custom aggregation**: Customize aggregation logic via `GroupAggregator` trait
387-
- **Functional interface**: Quickly create aggregators using `GroupAggregatorFunc`
382+
- **Task grouping**: Set group label for tasks using `with_group()`
383+
- **Batch aggregation**: Automatically aggregate tasks from the same group into a single batch task
384+
- **Flexible triggers**: Supports three trigger conditions: grace period, max group size, max delay
385+
- **Custom aggregation**: Customize aggregation logic via `GroupAggregator` trait
386+
- **Functional interface**: Quickly create aggregators using `GroupAggregatorFunc`
388387

389388
Example usage:
390389

@@ -405,8 +404,6 @@ let aggregator = GroupAggregatorFunc::new(|group, tasks| {
405404
server.set_group_aggregator(aggregator);
406405
```
407406

408-
See [GROUP_AGGREGATOR.md](docs/GROUP_AGGREGATOR.md) for more details.
409-
410407
## 🛠️ Configuration Options
411408

412409
### Server Configuration

README.zh-CN.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -405,8 +405,6 @@ let aggregator = GroupAggregatorFunc::new(|group, tasks| {
405405
server.set_group_aggregator(aggregator);
406406
```
407407

408-
更多详情请参阅 [GROUP_AGGREGATOR.md](docs/GROUP_AGGREGATOR.md)
409-
410408
## 🛠️ 配置选项
411409

412410
### 服务器配置

asynq-server/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ default = []
6060
cluster = ["asynq/cluster"]
6161
sentinel = ["asynq/sentinel"]
6262
# Enable PostgresSQL backend support (in addition to Redis)
63-
postgresql = ["asynq/postgresql"]
63+
postgres = ["asynq/postgres"]
6464

6565
[dev-dependencies]
6666
tokio-test = "0.4"

0 commit comments

Comments
 (0)