Vapor Queues Versions Save

A queue system for Vapor.

1.13.0

9 months ago

What's Changed

Misc cleanups by @gwynne in #123

  • Update Swift minimum version to 5.6 to match Vapor
  • CI updates

Reviewers

Thanks to the reviewers for their help:

  • @MahdiBM
This patch was released by @gwynne

Full Changelog: https://github.com//compare/1.12.1...1.13.0

1.12.1

1 year ago
This patch was authored and released by @gwynne.

Match Vapor's support

1.12.0

1 year ago
This patch was authored by @madsodgaard and released by @0xTim.
  • Bump Swift version to 5.5.2
  • Backport concurrency to older platforms
  • Add AsyncJobEventDelegate for async hooks
  • Replace Lock with NIOLock

1.11.1

1 year ago
This patch was authored by @heldersrvio and released by @jdmcd.

Fixes a few typo'd log messages.

1.11.0

1 year ago
This patch was authored by @dylanshine and released by @0xTim.

Adds a new using(_:) API to the ScheduleBuilder to allow the calendar to be set when creating jobs on a schedule

1.10.0

1 year ago
This patch was authored by @dylanshine and released by @jdmcd.

This PR introduces the ability to pass a custom Calendar to the ScheduleBuilder.

I ran into an edge case where I have queues deployed across multiple regions and needed to schedule jobs based on specific time zones.

I also cleaned up some unused computed properties in the ScheduleBuilderTests suite.

1.9.0

1 year ago
This patch was authored and released by @0xTim.

This removes support for Swift 5.2 and Swift 5.3, making Swift 5.4 the earliest supported version as announced

1.8.1

2 years ago
This patch was authored by @iKenndac and released by @0xTim.

This PR allows client apps to conform to the previously-added AsyncScheduledJob protocol by making it, and the associated adapter function from ScheduledJob, public.

1.8.0

2 years ago
This patch was authored by @Andrewangeta and released by @jdmcd.

Allows AsyncJobs to be added to the app via app.queues.add(...) method.

1.7.0

2 years ago
This patch was authored by @jdmcd and released by @0xTim.

Adds AsyncJob which allows you to specify a job that has async body implementations:

struct MyJobPayload: Content {
    let name: String
}

struct MyAsyncJob: AsyncJob {
    func dequeue(context: QueueContext, payload: MyJobPayload) async throws {
        print(payload.name)
    }

    func error(context: QueueContext, error: Error, payload: MyJobPayload) async throws {
        print(error)
    }
}

// In configure.swift 
app.queues.add(MyAsyncJob())