An MVP-worthy background job server for PostgreSQL, written in Rust

Overview


Pointguard

An MVP-worthy background job server for PostgreSQL, written in Rust

A simple background job server (database) on top of PostgreSQL, that can be used in any language and any environment.

Warning

this is obviously experimental, but it's for another project I'm working on on so... this is why issues are closed. feel free to @ or DM me at Twitter if you want to chat.

Features

🪶 Lightweight: Pointguard is a single binary with no dependencies, written in Rust. The Docker image is so small it feels illegal to add it to your stack.

🔗 HTTP based: Jobs are invoked through HTTP calls, so you can keep using your favorite language and environment: Next.js, Remix, Rust, Go -- whether your app is serverless or containerized. HTTP is the only boundary needed!

📝 Open API: Pointguard exposes a well-documented OpenAPI-compatible HTTP API, so you can use it from any language or environment. So you can implement a client super easy.

Delayed Jobs: Pointguard supports delayed jobs, so you can schedule jobs to run in the future.

🔁 Retries: Pointguard will retry your jobs if they fail, so you can be sure your jobs will run.

💻 Admin UI: Pointguard comes with an admin UI, so you can see the status of your jobs.

You might also like...
A lightning fast version of tmux-fingers written in Rust, copy/pasting tmux like vimium/vimperator
A lightning fast version of tmux-fingers written in Rust, copy/pasting tmux like vimium/vimperator

tmux-thumbs A lightning fast version of tmux-fingers written in Rust for copy pasting with vimium/vimperator like hints. Usage Press ( prefix + Space

A command-line tool collection to assist development written in RUST

dtool dtool is a command-line tool collection to assist development Table of Contents Description Usage Tips Installation Description Now dtool suppor

Simple ray tracer written in Rust
Simple ray tracer written in Rust

Simple ray tracer written in Rust from scratch I've just finished my first semester at the Faculty of Applied Mathematics and Computer Science at the

BSV stdlib written in Rust and runs in WASM environments

BSV.WASM A Rust/WASM Library to interact with Bitcoin SV Installation NodeJS: npm i bsv-wasm --save Web: npm i bsv-wasm-web --save Rust: https://crate

Basically a KrabsETW rip-off written in Rust

FerrisETW 🦀 Basically a KrabsETW rip-off written in Rust, hence the name Ferris 🦀 All credits go to the team at Microsoft who develop KrabsEtw, with

A wasm interpreter written by rust

A wasm interpreter written by rust

Rustymind is a driver and parser for NeuroSky MindWave EEG headset written in pure Rust.
Rustymind is a driver and parser for NeuroSky MindWave EEG headset written in pure Rust.

Rustymind is a driver and parser for NeuroSky MindWave EEG headset written in pure Rust. You can use it to connect, interact, and plot real time data from the headset.

a wasm interpreter written by rust

wai (WebAssembly interpreter) A simple wasm interpreter This is an ongoing project DEMO 2021-06-27.10.23.18.mov Install Install via Homebrew brew inst

Simple Spreadsheet editor written in Rust

Rexcel Simple Spreadsheet editor written in Rust Keyboard Shortcuts: CTRL + S = Save CTRL + Q = Quit CTRL + W + Save And Quit CTRL + ALT + S = Sav

Comments
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @pointguard/[email protected]

    Patch Changes

    @pointguard/[email protected]

    Patch Changes

    @pointguard/[email protected]

    Patch Changes

    • #8 a41272b Thanks @Schniz! - paginate /api/v1/tasks/finished

    • #6 9812efd Thanks @Schniz! - now we have two subcommands: serve (it was the default), and openapi-spec which outputs the openapi spec

    • 256f409 Thanks @Schniz! - remove redundant tracing::info

    @pointguard/[email protected]

    Patch Changes

    opened by github-actions[bot] 0
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @pointguard/[email protected]

    Patch Changes

    @pointguard/[email protected]

    Patch Changes

    @pointguard/[email protected]

    Patch Changes

    @pointguard/[email protected]

    Patch Changes

    opened by github-actions[bot] 0
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @pointguard/[email protected]

    Patch Changes

    • #10 26ea3d4 Thanks @Schniz! - use the webhook openapi definition for types

      the Next.js adapter now returns 200 for all execution requests, because we successfuly applied them. But the JSON might be an error (that is managed by Pointguard). Errors are values, Exceptions are bugs.

    @pointguard/[email protected]

    Patch Changes

    • #10 26ea3d4 Thanks @Schniz! - use the webhook openapi definition for types

      the Next.js adapter now returns 200 for all execution requests, because we successfuly applied them. But the JSON might be an error (that is managed by Pointguard). Errors are values, Exceptions are bugs.

    @pointguard/[email protected]

    Patch Changes

    • #10 26ea3d4 Thanks @Schniz! - add executeTask webhook with the request/response schemas

    @pointguard/[email protected]

    Patch Changes

    opened by github-actions[bot] 0
Releases(v0.0.5)
Owner
Gal Schlezinger
Gal Schlezinger
A simple, efficient Rust library for handling asynchronous job processing and task queuing.

job_queue Setup cargo add job_queue Usage Create a job use job_queue::{Error, Job, typetag, async_trait, serde}; #[derive(Debug, serde::Deserialize,

Georges KABBOUCHI 3 Nov 30, 2023
An ActivityPub home server written in Rust, implementing the Mastodon API.

Tafarn An ActivityPub home server written in Rust, implementing the Mastodon API. At present no web UI is provided, the API is the only way to interac

✨ Q (it/its) ✨ 12 Jan 22, 2023
Rust implementation of the legacy Master Server Query Protocol

msq-rs Rust library implementation of the legacy Master Server Query Protocol. Documentation crates.io Repository Release Notes Usage Add this to your

mtcw 6 Nov 20, 2022
PM-Tools - a simple Rust util to easily create server directories

PM-Tools PM-Tools is a simple Rust util to easily create server directories or plugins without the hassle of unzipping or creating directories Progres

null 2 Mar 19, 2022
client-server notification center for dbus desktop notifications

tsuchita A client-server notification center for dbus desktop notifications. Specifically org.freedesktop.Notifications dbus messages. Motivation I ju

Jeff Zhao 7 Oct 9, 2022
Simple fake AWS Cognito User Pool API server for development.

Fakey Cognito ?? Homepage Simple fake AWS Cognito API server for development. ✅ Implemented features AdminXxx on User Pools API. Get Started # run wit

naokirin 4 Aug 30, 2022
A custom invoke system for Tauri that leverages a localhost server

Tauri Invoke HTTP This is a crate that provides a custom invoke system for Tauri using a localhost server. Each message is delivered through a XMLHttp

Tauri 17 Dec 17, 2022
Build your service-server fast, easy (and without hosting!)

service-io is a library to build servers that offering services with really little effort. Choose an input connector. Choose an output connector. Choo

Luis Enrique Muñoz Martín 34 Jan 4, 2023
A stupidly simple and easy to self-host, personal server for file hosting on the web

Grasswave CDN A stupidly simple and easy to self-host, personal server for file hosting on the web. Written in Rust. Thanks, @Maciejowski, for the sty

Rafał Baran 3 Jan 3, 2023
tree-sitter server for kakoune

tree-sitter.kak Warning This currently just a proof-of-concept, and isn't stable yet. A Tree-sitter server that keeps parsed ASTs in memory. This is u

Enrico Borba 8 May 4, 2023