Swiftpack.co -  vapor-community/queues-database-hooks as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
vapor-community/queues-database-hooks
A package for tracking queue job statuses in your database via Queue Hooks
.package(url: "https://github.com/vapor-community/queues-database-hooks.git", from: "0.2.0")

QueuesDatabaseHooks

This package adds database success and failure tracking for all dequeued jobs.

Installation

Use the SPM string to easily include the dependendency in your Package.swift file.

.package(url: "https://github.com/vapor-community/queues-database-hooks.git", from: ...)

After you have the package installed, getting started is easy:

app.migrations.add(QueueDatabaseEntryMigration())
app.queues.add(QueuesDatabaseNotificationHook.default(db: app.db))

And that's all! Your app will now start tracking job data in your specified database.

Configuring the error handler

By default, the package will attempt to transform Errors into Strings via the localizedDescription property. You can pass in a closure when initializing the QueuesDatabaseNotificationHook object to specify how to transform errors. You can also pass in a closure for transforming the notification data (if, for example, you only want to save the payload data for certain job names.)

let dbHook = QueuesDatabaseNotificationHook(db: db) { error -> (String) in
    // Do something here with `error` that returns a string
} payloadClosure: { data -> (NotificationJobData) in
    return data
}
app.queues.add(dbHook)

What can I do with this data?

Out of the box, there's nothing built in to analyze the data that is captured. You can think of this as a "bring your own frontend" project - now that you have the data from your queue jobs you can do whatever you like with it.

That being said, there are some community projects built on top of the data that surface insights and create dashboards:

  1. https://github.com/gotranseo/queues-dash

GitHub

link
Stars: 0
Last commit: 4 weeks ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Release Notes

Add logging
4 weeks ago

Adds logging to the database queries

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API