Skip to content

Releases: vapor/queues

Queues 1.0.0

Choose a tag to compare

@tanner0101 tanner0101 released this 16 Apr 19:33
302a29b

Improve logging + XCTQueues

Pre-release

Choose a tag to compare

@tanner0101 tanner0101 released this 01 Apr 16:13
5ef8a8d
This patch was authored by @madsodgaard and released by @mcdappdev.
  • Added increased logging metadata.
  • XCTQueues was added to support in-memory queue driver to use for mocking.

You can use the in-memory test driver like so:

app.queues.use(.test)

Accessing the test queue in tests is like so:

import XCTQueues

let job = app.queues.test.first(Foo.self)
XCTAssert(app.queues.test.contains(Foo.self))

Release Candidate 1

Release Candidate 1 Pre-release
Pre-release

Choose a tag to compare

@tanner0101 tanner0101 released this 02 Mar 17:43
a14b638
  • Renames the package from jobs to queues. All types except for Job, ScheduledJob, JobData, and JobIdentifier have been renamed to Queue*.

  • Updates to Swift 5.2 and macOS 10.15.

Release candidates represent the final shift toward focusing on bug fixes and documentation. Breaking changes will only be accepted for critical issues. We expect a final release of this package shortly after Swift 5.2's release date.

Use Same EventLoop for Job Worker

Pre-release

Choose a tag to compare

@tanner0101 tanner0101 released this 07 Feb 02:27
fc3cf6a

Job workers will now use the same EventLoop as the scheduled task that runs them (fixes vapor/queues-redis-driver#11, #59).

Bail early if no scheduled jobs exist

Pre-release

Choose a tag to compare

@jdmcd jdmcd released this 24 Jan 02:41
d913166

If no scheduled jobs exist, fail early from the process to avoid running the worker unnecessarily.

Fix everySecond bug

Fix everySecond bug Pre-release
Pre-release

Choose a tag to compare

@tanner0101 tanner0101 released this 24 Jan 02:31
64f9946

This update fixes a bug that caused everySecond() not to fire when running scheduled jobs.

Support for In-Process workers

Pre-release

Choose a tag to compare

@jdmcd jdmcd released this 04 Jan 17:26
77cc497

Jobs can now run as an in-process worker instead of a separate worker side-by-side with the main application:

try JobsCommand(application: app, scheduled: false).startJobs(on: .default)

Or:

try JobsCommand(application: app, scheduled: true).startScheduledJobs()

Jobs 1.0.0 Beta 3

Jobs 1.0.0 Beta 3 Pre-release
Pre-release

Choose a tag to compare

@tanner0101 tanner0101 released this 09 Dec 21:37
d0cdfad
  • Updated to latest Vapor beta 2 release (#48)
import Jobs
import Vapor

let email = Email()
app.jobs.add(email)

try app.jobs.use(.redis(url: "redis://\(hostname):6379"))

app.get("send-email") { req in
    req.jobs.dispatch(Email.self, .init(to: "tanner@vapor.codes"))
        .map { HTTPStatus.ok }
}
  • Enabled test discovery on Linux. (#49)

Beta 2.1.0

Beta 2.1.0 Pre-release
Pre-release

Choose a tag to compare

@jdmcd jdmcd released this 13 Nov 16:17

Adds a new .at() API on ScheduledJob for one-off jobs with a specific date

Beta 2.0.0

Beta 2.0.0 Pre-release
Pre-release

Choose a tag to compare

@jdmcd jdmcd released this 09 Nov 17:07

Breaking Changes:

Dispatching jobs is now more type safe:

app.get("foo") { req in
    return req.jobs.dispatch(FooJob.self, .init(foo: "bar"))
        .map { "done" }
}