QueuesDatabaseHooks

此软件包为所有已出队的任务添加数据库成功和失败跟踪。

安装

使用 SPM 字符串可以轻松地将依赖项包含在您的 Package.swift 文件中。

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

安装软件包后,入门非常简单

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

仅此而已!您的应用程序现在将开始在您指定的数据库中跟踪任务数据。

配置错误处理程序

默认情况下,软件包将尝试通过 localizedDescription 属性将 Error 转换为 String。您可以在初始化 QueuesDatabaseNotificationHook 对象时传入一个闭包,以指定如何转换错误。您还可以传入一个闭包来转换通知数据(例如,如果您只想保存某些任务名称的负载数据)。

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)

我可以用这些数据做什么?

开箱即用,没有任何内置功能来分析捕获的数据。您可以将其视为一个“自带前端”的项目 - 既然您已经拥有队列任务的数据,您就可以随意使用它。

话虽如此,有一些社区项目构建于这些数据之上,可以呈现见解并创建仪表板。

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