Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ All notable changes to this project are documented in this file.

## [Unreleased]

- **chore**: bump to v1.0.0 rc.6 ([#705](https://github.com/apalis-dev/apalis/pull/705))
- **fix (workflow)**: remove Display constraints in workflow service ([#704](https://github.com/apalis-dev/apalis/pull/704))
- **chore**: bump to v1.0.0 rc.5 ([#703](https://github.com/apalis-dev/apalis/pull/703))
- **chore (workflow)**: replace BoxDynError with concrete errors for better typing ([#695](https://github.com/apalis-dev/apalis/pull/695))
Expand Down
16 changes: 8 additions & 8 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion apalis-core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "apalis-core"
version = "1.0.0-rc.5"
version = "1.0.0-rc.6"
authors = ["Njuguna Mureithi <mureithinjuguna@gmail.com>"]
edition.workspace = true
repository.workspace = true
Expand Down
20 changes: 10 additions & 10 deletions apalis-core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,11 @@ let task: Task<String, ()> = TaskBuilder::new("my-task".to_string())
Specific documentation for tasks can be found in the [`task`] and [`task::builder`] modules.

##### Relevant Guides:
- [**Defining Task arguments**](https://docs.rs/apalis-core/1.0.0-rc.5/apalis_core/task_fn/guide/index.html) - Creating effective task arguments that are scalable and type-safe
- [**Defining Task arguments**](https://docs.rs/apalis-core/1.0.0-rc.6/apalis_core/task_fn/guide/index.html) - Creating effective task arguments that are scalable and type-safe

### Backends

The [`Backend`](https://docs.rs/apalis-core/1.0.0-rc.5/apalis_core/backend/trait.Backend.html) trait serves as the core abstraction for all task sources.
The [`Backend`](https://docs.rs/apalis-core/1.0.0-rc.6/apalis_core/backend/trait.Backend.html) trait serves as the core abstraction for all task sources.
It defines task polling mechanisms, streaming interfaces, and middleware integration points.

<details>
Expand All @@ -67,16 +67,16 @@ It defines task polling mechanisms, streaming interfaces, and middleware integra
</details>

#### Inbuilt Implementations
- [`MemoryStorage`](https://docs.rs/apalis-core/1.0.0-rc.5/apalis_core/backend/memory/struct.MemoryStorage.html) : In-memory storage based on channels
- [`Pipe`](https://docs.rs/apalis-core/1.0.0-rc.5/apalis_core/backend/pipe/index.html) : Pipe-based backend for a stream-to-backend pipeline
- [`CustomBackend`](https://docs.rs/apalis-core/1.0.0-rc.5/apalis_core/backend/custom/index.html) : Flexible backend composition allowing custom functions for task management
- [`MemoryStorage`](https://docs.rs/apalis-core/1.0.0-rc.6/apalis_core/backend/memory/struct.MemoryStorage.html) : In-memory storage based on channels
- [`Pipe`](https://docs.rs/apalis-core/1.0.0-rc.6/apalis_core/backend/pipe/index.html) : Pipe-based backend for a stream-to-backend pipeline
- [`CustomBackend`](https://docs.rs/apalis-core/1.0.0-rc.6/apalis_core/backend/custom/index.html) : Flexible backend composition allowing custom functions for task management

Backends handle task persistence, distribution, and reliability concerns while providing
a uniform interface for worker consumption.

### Workers

The [`Worker`](https://docs.rs/apalis-core/1.0.0-rc.5/apalis_core/worker/index.html) is the core runtime component responsible for task polling, execution, and lifecycle management:
The [`Worker`](https://docs.rs/apalis-core/1.0.0-rc.6/apalis_core/worker/index.html) is the core runtime component responsible for task polling, execution, and lifecycle management:

#### Worker Lifecycle

Expand All @@ -93,7 +93,7 @@ The following are the main components the worker module:
- [`Worker`] - Actual worker implementation that processes tasks
- [`WorkerContext`] - Runtime state including task counts and execution status
- [`Event`] - Worker event enumeration (`Start`, `Engage`, `Idle`, `Error`, `Stop`)
- [`Ext`](https://docs.rs/apalis-core/1.0.0-rc.5/apalis_core/worker/ext/index.html) - Extension traits and middleware for adding functionality to workers
- [`Ext`](https://docs.rs/apalis-core/1.0.0-rc.6/apalis_core/worker/ext/index.html) - Extension traits and middleware for adding functionality to workers

#### Example: Building and Running a Worker
```rust
Expand Down Expand Up @@ -126,11 +126,11 @@ Learn more about workers in the [`worker`](crate::worker) and [`worker::builder`

##### Relevant Tutorials:
- [**Creating task handlers**](crate::task_fn::guide) - Defining task processing functions using the [`TaskFn`] trait
- [**Testing task handlers with `TestWorker`**](https://docs.rs/apalis-core/1.0.0-rc.5/apalis_core/worker/test_worker/index.html) - Specialized worker implementation for unit and integration testing
- [**Testing task handlers with `TestWorker`**](https://docs.rs/apalis-core/1.0.0-rc.6/apalis_core/worker/test_worker/index.html) - Specialized worker implementation for unit and integration testing

### Monitor

The [`Monitor`](https://docs.rs/apalis-core/1.0.0-rc.5/apalis_core/monitor/struct.Monitor.html) helps manage and coordinate multiple workers:
The [`Monitor`](https://docs.rs/apalis-core/1.0.0-rc.6/apalis_core/monitor/struct.Monitor.html) helps manage and coordinate multiple workers:

**Main Features:**
- **Worker Registry** - Keeps track of active workers
Expand Down Expand Up @@ -161,7 +161,7 @@ async fn main() {
}
```

Learn more about the monitor in the [`monitor` module](https://docs.rs/apalis-core/1.0.0-rc.5/apalis_core/monitor/index.html.
Learn more about the monitor in the [`monitor` module](https://docs.rs/apalis-core/1.0.0-rc.6/apalis_core/monitor/index.html.

### Middleware

Expand Down
4 changes: 2 additions & 2 deletions apalis-sql/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "apalis-sql"
version = "1.0.0-rc.5"
version = "1.0.0-rc.6"
authors = ["Njuguna Mureithi <mureithinjuguna@gmail.com>"]
edition.workspace = true
repository.workspace = true
Expand All @@ -13,7 +13,7 @@ keywords = ["job", "task", "scheduler", "worker", "sql"]
categories = ["database", "asynchronous"]

[dependencies]
apalis-core = { path = "../apalis-core", version = "1.0.0-rc.5", default-features = false, features = [
apalis-core = { path = "../apalis-core", version = "1.0.0-rc.6", default-features = false, features = [
"sleep",
"serde",
] }
Expand Down
4 changes: 2 additions & 2 deletions apalis-workflow/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "apalis-workflow"
version = "0.1.0-rc.5"
version = "0.1.0-rc.6"
edition.workspace = true
repository.workspace = true
authors = ["Njuguna Mureithi <mureithinjuguna@gmail.com>"]
Expand All @@ -23,7 +23,7 @@ rand = ["dep:rand"]
petgraph = { version = "0.8.2", features = ["serde-1"] }
serde = { version = "1.0", features = ["derive"] }
tower = { version = "0.5", features = ["util"], default-features = false }
apalis-core = { path = "../apalis-core", version = "1.0.0-rc.5", default-features = false, features = [
apalis-core = { path = "../apalis-core", version = "1.0.0-rc.6", default-features = false, features = [
"sleep",
"serde",
] }
Expand Down
6 changes: 3 additions & 3 deletions apalis/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "apalis"
version = "1.0.0-rc.5"
version = "1.0.0-rc.6"
authors = ["Geoffrey Mureithi <mureithinjuguna@gmail.com>"]
description = "Simple, extensible and multithreaded background task processing for Rust"
edition.workspace = true
Expand Down Expand Up @@ -62,7 +62,7 @@ full = [
docsrs = ["document-features"]

[dependencies.apalis-core]
version = "1.0.0-rc.5"
version = "1.0.0-rc.6"
default-features = false
path = "../apalis-core"

Expand Down Expand Up @@ -90,7 +90,7 @@ version = "0.1.40"
optional = true

[dev-dependencies]
apalis-core = { path = "../apalis-core", version = "1.0.0-rc.5" }
apalis-core = { path = "../apalis-core", version = "1.0.0-rc.6" }
serde = "1"
tokio = { version = "1", features = ["full"] }
apalis-workflow = { path = "../apalis-workflow", version = "0.1.0-alpha.6" } # For README
Expand Down
6 changes: 3 additions & 3 deletions apalis/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

## Features

- **Simple and predictable task handling** - [Task handlers](https://docs.rs/apalis-core/1.0.0-rc.5/apalis_core/task_fn/guide/index.html) are just async functions with a macro-free API
- **Simple and predictable task handling** - [Task handlers](https://docs.rs/apalis-core/1.0.0-rc.6/apalis_core/task_fn/guide/index.html) are just async functions with a macro-free API
- **Robust task execution** - Built-in support for retries, timeouts, and error handling
- **Multiple storage backends** - Support for Redis, PostgreSQL, SQLite, and in-memory storage
- **Advanced task management** - Task prioritization, scheduling, metadata, and result tracking
Expand Down Expand Up @@ -64,8 +64,8 @@ To get started, just add to Cargo.toml

```toml
[dependencies]
apalis = { version = "1.0.0-rc.5" }
# apalis-redis = { version = "1.0.0-rc.5" } # Use redis/sqlite/postgres etc
apalis = { version = "1.0.0-rc.6" }
# apalis-redis = { version = "1.0.0-rc.6" } # Use redis/sqlite/postgres etc
```

## Usage
Expand Down
2 changes: 1 addition & 1 deletion supply-chain/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -713,7 +713,7 @@ version = "0.37.3"
criteria = "safe-to-deploy"

[[exemptions.once_cell]]
version = "1.21.3"
version = "1.21.4"
criteria = "safe-to-deploy"

[[exemptions.once_cell_polyfill]]
Expand Down
16 changes: 16 additions & 0 deletions supply-chain/imports.lock
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,18 @@ audited_as = "1.0.0-rc.2"
version = "1.0.0-rc.5"
audited_as = "1.0.0-rc.3"

[[unpublished.apalis]]
version = "1.0.0-rc.6"
audited_as = "1.0.0-rc.5"

[[unpublished.apalis-core]]
version = "1.0.0-rc.5"
audited_as = "1.0.0-rc.3"

[[unpublished.apalis-core]]
version = "1.0.0-rc.6"
audited_as = "1.0.0-rc.5"

[[unpublished.apalis-sql]]
version = "1.0.0-rc.3"
audited_as = "1.0.0-rc.2"
Expand All @@ -21,6 +29,14 @@ audited_as = "1.0.0-rc.2"
version = "1.0.0-rc.5"
audited_as = "1.0.0-rc.3"

[[unpublished.apalis-sql]]
version = "1.0.0-rc.6"
audited_as = "1.0.0-rc.5"

[[unpublished.apalis-workflow]]
version = "0.1.0-rc.5"
audited_as = "0.1.0-rc.3"

[[unpublished.apalis-workflow]]
version = "0.1.0-rc.6"
audited_as = "0.1.0-rc.5"
4 changes: 2 additions & 2 deletions utils/apalis-codec/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "apalis-codec"
version = "0.1.0-rc.5"
version = "0.1.0-rc.6"
rust-version.workspace = true
edition.workspace = true
repository.workspace = true
Expand All @@ -23,7 +23,7 @@ bincode = ["dep:bincode", "dep:thiserror"]
msgpack = ["dep:rmp-serde", "dep:serde", "apalis-core/serde", "dep:thiserror"]

[dependencies]
apalis-core = { path = "../../apalis-core", version = "1.0.0-rc.5", default-features = false }
apalis-core = { path = "../../apalis-core", version = "1.0.0-rc.6", default-features = false }
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = { version = "1", optional = true }
bincode = { version = "2.0.1", optional = true }
Expand Down
6 changes: 3 additions & 3 deletions utils/apalis-file-storage/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "apalis-file-storage"
version = "0.1.0-rc.5"
version = "0.1.0-rc.6"
rust-version.workspace = true
edition.workspace = true
repository.workspace = true
Expand All @@ -18,7 +18,7 @@ categories = ["database", "filesystem", "asynchronous", "data-structures"]

[dependencies]
serde = { version = "1.0.228", features = ["derive"] }
apalis-core = { path = "../../apalis-core", version = "1.0.0-rc.5", default-features = false, features = [
apalis-core = { path = "../../apalis-core", version = "1.0.0-rc.6", default-features = false, features = [
"sleep",
"serde",
] }
Expand All @@ -35,7 +35,7 @@ futures-util = { version = "0.3.30", features = [
"std",
], default-features = false }
futures-core = { version = "0.3.30", default-features = false }
apalis-codec = { path = "../apalis-codec", version = "0.1.0-rc.5", default-features = false, features = [
apalis-codec = { path = "../apalis-codec", version = "0.1.0-rc.6", default-features = false, features = [
"json",
] }

Expand Down
Loading