Skip to content
A PostgreSQL Persistance Layer for the Vapor Jobs framework
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Sources/JobsPostgreSQLDriver
Tests
.gitignore
Package.resolved
Package.swift
README.md

README.md

JobsPostgreSQLDriver

A package that sits on top of the Jobs package (https://github.com/vapor-community/jobs) and implements PostgreSQL as a persistence layer.

Installation

Add this to your Package.swift:

.package(url: "https://github.com/vapor-community/jobs-postgresql-driver", from: "0.1.0")

Create the jobs table in your database:

CREATE TABLE job (
    id SERIAL PRIMARY KEY,
    key character varying(255) NOT NULL,
    job_id character varying(255) NOT NULL,
    data bytea NOT NULL,
    state character varying(255) NOT NULL,
    created_at timestamp with time zone NOT NULL DEFAULT clock_timestamp(),
    updated_at timestamp with time zone NOT NULL DEFAULT clock_timestamp()
);
CREATE INDEX job_key_idx ON job(key);

Initialize the Jobs service and set the default database for the JobModel model in your configure.swift:

import Jobs
import JobsPostgreSQLDriver

/// Register the Jobs service, with PostgreSQL persistence layer
services.register(JobsPersistenceLayer.self) { container -> JobsPostgreSQLDriver in
    return JobsPostgreSQLDriver(databaseIdentifier: .psql, container: container)
}
try jobs(&services)

/// Set the default database on the JobModel
JobModel.defaultDatabase = .psql

Follow the instructions in the Jobs package for more setup and configuration information.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.