New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@slay-pics/slay-q-server

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@slay-pics/slay-q-server

Slay Q Server is the server component of Slay Q, a queue and background job management system inspired by Inngest. It's in production use on https://slay.pics for managing all of our media processing, notifications and other services.

  • 0.4.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
decreased by-86.67%
Maintainers
1
Weekly downloads
 
Created
Source

Slay Q Server

npm version npm downloads bundle Codecov

This is the server component of Slay Q.

This is a thin wrapper around the super awesome Graphile Worker which is doing all of the heavy lifting.

Read the Docs

Usage

Install package:

# npm
npm install @slay-pics/slay-q-server

# yarn
yarn add @slay-pics/slay-q-server

# pnpm
pnpm install @slay-pics/slay-q-server

# bun
bun install @slay-pics/slay-q-server

Run:

npx slay-q-server /path/to/slay-config.json

Run without installing:

npx @slay-pics/slay-q-server@latest /path/to/slay-config.json

Requirements

  • Postgres database

Migrations

The first time you run the server, two migrations will be run:

  • A schema and related tables called graphile_worker will be created. This schema is required for Graphile Worker to function.
  • A second schema and related tables/function called slayq will be created. This contains all the tables and functions SlayQ needs to do its housekeeping.
  • Additionally, a few functions will be created in the public schema. This is necessary for Supabase as you cannot access other schemas with their js libs.

Environment Variables

You must have a few environment variables defined prior to launching slay-q-server:

  • SLAY_Q_DATABASE_URL - The connection string url for your postgres database.
  • SLAY_Q_SECRET - The secret used to sign events posted to your app's slay-q receiver endpoint.
  • SLAY_Q_CRON_URL - The URL to your slay-q receiver endpoint that will receive cron events.

Configuration

To run slay-q-server, you need to create a config file first:

{
  "queues": {
    "mail": {
      "concurrency": 4
    },
    "messaging": {
      "concurrency": 6,
      "alias": [
        "dispatch",
        "ready"
      ]
    },
    "interactions": {
      "concurrency": 1,
      "alias": [
        "reconcile",
        "discord"
      ]
    },
    "housekeeping": {
      "concurrency": 2
    },
    "profile": {
      "concurrency": 8
    },
    "general": {
      "concurrency": 10
    }
  }
}

We are essentially defining a variety of queues and their level of concurrency (the number of tasks that can run at once in the queue). Additionally, we are specifying aliases for these queues. These aliases are only provided to help keep things organized on the client side of things.

License

Published under MIT License.

Keywords

FAQs

Package last updated on 30 Mar 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc