Skip to content

Commit 9c90542

Browse files
geofmureithiautotakerrobjtederenovate[bot]utterstep
authored
Rebase (#8)
* Introducing Apalis * Readme Changes * Make release ready * Lower version * Renaming imports * Up the version * Setup the version * Add license and description * Introducing tower, major changes, refactoring * Updated docs * Improvements on Extensions and Storages * Standardize core + redis + sqlite * Introducing prometheus, mysql, and axum * Added More Improvements esp to features * Moved from Actix * Stabilized parts of Worker API * Added more fixes, Migrations for sqlx and more documentation * Features + introduce twitter example * Minor fixes and added examples * Bump up to v0.3 * Improvements in Docs and bump up to v0.3.1 * Fixes by Rustfmt * Bump up version * Bumping up versions * add once_cell to dev-dependencies * Bump up to v0.3.4 * Bump up version * Remove time 0.1 from dependency tree * Bump up version * Updates getting ready for 0.4.0-alpha * Bump up version * Bump up version * Fixes in changing features * Bump version * Fixed concrete types, for worker and jobs * Minor improvements, fixes on failing tests * Improved layers and added beats * Added expose feature, and worker config * Bump up version * Minor updates on cargo.toml * Bump up version * Bump version * Fix Ack and bump up version * Update Rust crate async-trait to 0.1.68 * Update Rust crate async-std to 1.12.0 * Update Rust crate futures-lite to 1.13.0 * Update Rust crate once_cell to 1.17.1 * Bump up version * Added improvements and simplified * Prep release version 0.4.0-alpha.9 * Bump up version * Update Rust crate once_cell to 1.17.2 * Bump up version * Added improvements to postgres storage * Update Rust crate once_cell to 1.18.0 * Bump up version to v0.4.2 * Update Rust crate async-trait to 0.1.72 * Bump up version * update: sqlx to v0.7 * bump: to version v0.4.4 * fix(deps): update rust crate async-trait to 0.1.73 * fix(deps): update rust crate sqlx to 0.7.2 * bump: v0.4.5 * fix(deps): update rust crate async-trait to 0.1.74 * fix(deps): update rust crate futures-lite to v2 (#192) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Add option to use `time` crate instead of `chrono` (#185) * Add option to use `time` crate instead of `chrono` This is useful for users who are already working with `sqlx` and `time`, bc `sqlx` doesn't allow you to use `chrono` and `time` together. * leaves the default as `chrono` but allows users to opt-in to using `time` instead * adds a `time` feature to `apalis-core`, `apalis-sql` and `apalis-redis` * enabling both `cron` and `time` features now triggers a compile error because `apalis-cron` uses `cron` and `cron` depends on `chrono` * adds `time` to the CI matrix * (subjective) use `datetime - duration` instead of `datetime.sub(duration)` * [fix] include CI changes * [fix] use correct timestamping method in `apalis-redis` * fix tests * rustfmt * Bump to version 0.4.6 (#197) * docs: minor updates * fix: update to latest version of cargo-get * bump: up to version 0.4.6 * Bump to v0.4.7 (#210) * fix(deps): update rust crate http to v1 * fix: update for http 1.x * bump: to v0.4.7 --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update rust crate sqlx to 0.7.3 (#212) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update rust crate futures-lite to 2.1.0 (#214) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update rust crate once_cell to 1.19.0 (#217) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update rust crate async-trait to 0.1.77 (#225) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * bump: to v0.4.8 (#229) * fix(deps): update rust crate futures-lite to 2.2.0 (#230) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * bump: to v0.4.9 (#232) * Introducing v0.5! (#234) * Introducing v0.5! * fix: api and other fixes * Fix: improvements on backends * fix: improve api * fix: remove utils and simplify crates * lint: fmt issues * lint: clippy fixes * fix: moved files * clippy: fixes * tests: updates on tests * fixes: on internal api * ci: update the test features * test: remove some assertions * docs: updated docs for tests * fix: minor clippy and fixes * bench: fixes on bench: * bench: fixes on bench: * bench: ! * bench: ! * fix: version for test * fix: add vacuuming and other apis * fix: improve benches * fix: benches and worker * fix: typo * fix: prepared statement * lint: clippy * fix: redis test * add: use ulid without jid * add: improve the Readme.md * fix: tower link * bump: to 0.5 * fix(deps): update rust crate sqlx to 0.7.4 (#262) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * bump: to version 0.5.1 (#265) * fix(deps): update rust crate futures-lite to 2.3.0 (#276) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update rust crate futures to 0.3.30 (#307) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update rust crate async-stream to 0.3.5 (#304) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update rust crate log to 0.4.21 (#308) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * bump: to version 0.5.2 (#322) * bump: to version 0.5.3 (#328) * chore: Add repository to metadata (#345) * Update sqlx to 0.8.1 (#403) * bump: 0.5.4 (#405) * bump: to 0.5.5 (#408) * [bump] introduce new version: 0.6 (#459) * fix: improve external api for redis * fix: improve exports for redis * fix: expose redis codec * Feature: v0.6.0-alpha.0 version of apalis Breaking Changes: - Dropped traits Job and Message, please use namespace * fix: minor fixes on some failures * lint: cargo fmt * fix: remove Job impl * lint: cargo fmt * bench: improve polling * fix: introduce namespace and codec config (#339) * fix: introduce namespace and codec config * fix: missing apis * Version: 0.6.0-alpha.1 (#342) * api: for redis and sqlite * Version: 0.6.0-alpha.1 Changelog: - Redis storage doesnt require pool to be clone. Allows use of deadpool-redis among others. - Namespace is picked by default for `new` methods. * fix: docs and tests * lint: cargo clippy and fmt * postgres: add a listener example * bump: to v0.6.0-alpha.1 (#343) * api: for redis and sqlite * Version: 0.6.0-alpha.1 Changelog: - Redis storage doesnt require pool to be clone. Allows use of deadpool-redis among others. - Namespace is picked by default for `new` methods. * fix: docs and tests * lint: cargo clippy and fmt * postgres: add a listener example * bump: to v0.6.0-alpha.1 * fix: allow cd for prereleases (#349) * Remove `Clone` constraints and buffer the service (#348) * feat: remove the `Clone` requirements for services * test save * fix: get buffered layer working * update: remove clone & update api * fix: tests and api * lint: clippy fixes * lint: cargo fmt * bump: to 0.6.0-rc.1 (#350) * feat: add rsmq example (#353) * Fix: load layer from poller (#354) * fix: backend layers were not loaded * fix: handle clone * Fix: mq example (#355) * fix: mq ack * lint: fmt * fix: handle unwraps in storages (#356) * fix: handle unwraps in storages * fix: ensure no unwrap * fix: better apalis deps allowing tree shaking for backends (#357) * fix: better apalis deps allowing tree shaking for backends * fix: remove backend features in the root crate * standardize backend for storage and mq (#358) * fix: standardize backend for storage and mq * fix: minor fixes * feat: standardize cron as backend (#359) * fix: remove non-working restapi example (#360) * fix: expose the missing apis (#361) * bump: to new version (#362) * Make Config accessible publicly (#364) * fix: add missing exposed config * fix: add getters * fix: die if retries is zero (#365) * Feature: Add a layer that catches panics (#366) * Feature: Add a layer that catches panics This allows preventing job execution from killing workers and returns an error containing the backtrace * fix: backtrace as it may be different * add: example for catch-panic * fix: make not default * Feature: Save results for storages (#369) * Feature: Save results for storages Currently just the status is stored, this PR adds the ability to save the result * fix: result from storage * fix: kill and abort issue * Bump: to 0.6.0-rc.3 (#370) * fix: serde for sql request (#371) * fix: serde for sql request * fix: serde for attempts * lint: fmt * fix: handle attempts in storages (#373) * fix: handle attempts in storages * fix: chrono serialization * fix: tests failing because of tests * add: test utils that allow backend polling during tests (#374) * add: test utils that allow backend polling during tests * fix: introduce testwrapper and add more tests * fix: add sample for testing * fix: more fixes and actions fixes * fix: more fixes on vacuuming * tests: improve cleanup and generic testing * fix: improve testing and fix some found bugs * fix: postgres query and remove incompatible tests * fix: remove redis incompatible check * fix: minor fixes * fix: postgres json elements * bump: to 0.6.0-rc.4 (#377) * fix: handle 0 retries (#378) * fix: ack api to allow backend to handle differently (#383) * fix: ack api to allow backend to handle differently * fix: related to storage tests * fix: calculate status for postgres * fix(deps): update rust crate sqlx to 0.8.0 (#380) * chore: fix typos (#346) * chore: Add repository to metadata (#345) * fix(deps): update rust crate sqlx to 0.8.0 * fix: sqlite example --------- Co-authored-by: John Vandenberg <jayvdb@gmail.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: geofmureithi <mureithinjuguna@gmail.com> Co-authored-by: Geoffrey Mureithi <95377562+geofmureithi@users.noreply.github.com> * bump: to v0.6.0-rc.5 (#385) * chore: standardize codec usage (#388) * bump: to v0.6.0-rc.5 * fix: standardize codec usage * lint: cargo fmt * Chore/more examples (#389) * add: catch-panic example * add: graceful shutdown example * add: unmonitored example * add: arguments example * fix: minor updates * fix: sql tests * fix: minor updates * fix: improve on benches (#379) * fix: improve on benches * fix: bench trigger * fix: include tokio for sqlx * fix: improve the benching approach * fix: mysql api * fix: redis api * fix: improve bench approach, remove counter * remove: setup * remove: pg * fix: pg * fix: pg * fix(deps): update rust crate sqlx to 0.8.1 [security] (#400) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Geoffrey Mureithi <95377562+geofmureithi@users.noreply.github.com> * fix: add some missing data required for dependency injection (#409) * fix: add some missing data required for dependency injection * lint: clippy and fmt * remove: benchmarks (#410) They will be moved to https://github.com/geofmureithi/apalis-benchmarks * bump: to 0.6.0-rc.6 (#412) * Update async-std to 1.13 (#413) * Feature: Introducing Request Context (#416) * wip: introduce context to request * fix: get request context working * lint: cargo fmt * fix: get tests compiling * add: push_request and shedule_request * fix: task_id for Testwrapper * fix: minor checks and fixes on postgres tests * fix: bug on postgres fetch_next * bump: to 0.6.0-rc.7 (#418) * fix: apply `FromRequest` for items in `Parts` (#425) Problem: We are missing crucial `FromRequest` impls for: - TaskId - Attempt - Namespace Also removed `Context<E>` Solution: Implement `FromRequest` for these Types. * fix:[bug] include backend provided layer in service layers. (#426) * fix:[bug] include backend provided layer in service layers. Problem: The current worker logic is missing an implementation where the backend provided layer should be added to the service's layer. This is a critical issue that affects all v0.6.0-rc-7 users and they should update as soon as a new release is done. Solution: - Add backend layers to service's layer. - Add worker_consume tests on the storages to prevent regression on this. * chore: comment an enforcement rule not yet followed by redis * chore: bump to 0.6.0-rc.8 (#430) * fix: apply max_attempts set via SqlContext (#447) So that a custom number of attempts can be configured: let mut ctx = SqlContext::new(); ctx.set_max_attempts(2); let req = Request::new_with_ctx(job, ctx); storage.push_request(req).await.unwrap(); While the default is still to try up to 25 times: storage.push(job).await.unwrap(); * Bump redis (#442) * feat: re-export sqlx (#451) Making sqlx accessible to users of apalis without requiring them to explicitly add it as a dependency. * feat: Improve Worker management and drop Executor (#428) * feat: introducing WorkerBuilderExt which makes the work of building a new worker way easier. * improve: worker api almost there * fix: radical improvements and updates. Removed executor and got graceful shutdown working * chore: deprecate register with count and force builder order * chore: more improvements on the worker * fix: allow DI for Worker * add: get the task count by a worker * lint: fmt and clippy * fix: allow worker stopping * Chore/better api (#452) * fix: relax the api provided for sqlx req * lint: clippy and fmt * feat: add recovery of abandoned jobs to backend heartbeats (#453) * feat: add recovery of abandoned jobs to backend heartbeats * lint: fmt * fix: attempt to get tests passing * fix: attempt to get tests passing * fix: minor fix typo * fix: minor different solutions * fix: better handle attempts * handle postgres edge case * fix: better handling * feat: allow backends to emit errors (#454) * feat: allow backends to emit errors * lint: fmt * fix: pass in a reference to prevent mutation * Feat: Introduce simple ability to pipe cron jobs to any backend (#455) * Feat: Introduce simple ability to pipe cron jobs to any backend This feature allows you to quickly persist cron jobs guaranteeing they will be run and can be distributed * lint: cargo fmt * chore/dev-branch * feat: return of exposing backends to help in building apis (#457) (#458) * fmt: Cargo.toml * fix: removed features * fix: run only specific tests --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: John Vandenberg <jayvdb@gmail.com> Co-authored-by: Mathias Lafeldt <mathias.lafeldt@gmail.com> Co-authored-by: zakstucke <44890343+zakstucke@users.noreply.github.com> * bump: to v0.6.1 (#479) * bump: to v0.6.2 (#482) * bump: to v0.6.3 (#490) * bump: to v0.6.4 (#500) * feat: add `native-tls` feature flags (#525) Co-authored-by: Geoffrey Mureithi <95377562+geofmureithi@users.noreply.github.com> * Support priority in SQL storage backends (#533) * Add support for optional job priority to postgres storage * add migration * revert postgres changes * update mysql and postgres code to use sqlcontext priority * WIP * finish (hopefully) mysql and sqlite job fetch * add priority tests * update changelog * Update CHANGELOG.md * test * cleanup and add missing priority in FromRow impls * fix mysql implementation * bump: to 0.7.0 (#536) * bump: to v0.7.1 (#559) * changelog: bump to v0.7.1 * bump: to v0.7.1 * bump: apalis to v0.7.2 (#580) * more: fixes on updates * fix: more improvements * introduce custom backends * feat: remove task_id constrain as ulid * bump: apalis to v0.7.3 (#595) * wip: generic sinks and fetchers * improve metadata * docs: improvement * bump: version * chore: initial split * get backends working * fix: improve shared setup * cliipy:lint * cliipy:lint * cargo: sqlx prep * improvements on queries * checkpoint: features working * checkpoint: refactor * add bytes support * chore: ready for CI * lib cleanup * chore: minor fixes * remove old files --------- Co-authored-by: autotaker <autotaker@gmail.com> Co-authored-by: Rob Ede <robjtede@icloud.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Vlad Stepanov <8uk.8ak@gmail.com> Co-authored-by: John Vandenberg <jayvdb@gmail.com> Co-authored-by: Michael Brogdon <michael.brogdon@monotype.com> Co-authored-by: Mathias Lafeldt <mathias.lafeldt@gmail.com> Co-authored-by: zakstucke <44890343+zakstucke@users.noreply.github.com> Co-authored-by: Daniëlle Huisman <danielle@huisman.me> Co-authored-by: Derek Leverenz <derek@yurts.ai>
1 parent e10d278 commit 9c90542

4 files changed

Lines changed: 0 additions & 97 deletions

File tree

packages/apalis-sql/Cargo.toml

Lines changed: 0 additions & 56 deletions
This file was deleted.

packages/apalis-sql/build.rs

Lines changed: 0 additions & 3 deletions
This file was deleted.

packages/apalis-sql/migrations/sqlite/20220530084123_jobs_workers.sql

Lines changed: 0 additions & 36 deletions
This file was deleted.

packages/apalis-sql/migrations/sqlite/20250313213411_add_job_priority.sql

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
 (0)