que-go

An interoperable Golang port of the Ruby Que queuing library for PostgreSQL

  • Owner: bgentry/que-go
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

que-go

GoDoc

Que-go is a fully interoperable Golang port of Chris Hanks' Ruby Que
queuing library
for PostgreSQL. Que uses PostgreSQL's advisory locks
for speed and reliability.

Because que-go is an interoperable port of Que, you can enqueue jobs in Ruby
(i.e. from a Rails app) and write your workers in Go. Or if you have a limited
set of jobs that you want to write in Go, you can leave most of your workers in
Ruby and just add a few Go workers on a different queue name. Or you can just
write everything in Go :)

pgx PostgreSQL driver

This package uses the pgx Go PostgreSQL driver rather than the more
popular pq. Because Que uses session-level advisory locks, we have to hold
the same connection throughout the process of getting a job, working it,
deleting it, and removing the lock.

Pq and the built-in database/sql interfaces do not offer this functionality, so
we'd have to implement our own connection pool. Fortunately, pgx already has a
perfectly usable one built for us. Even better, it offers better performance
than pq due largely to its use of binary encoding.

Please see the godocs for more info and examples.

Main metrics

Overview
Name With Ownerbgentry/que-go
Primary LanguageGo
Program languageGo (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2014-10-25 06:18:15
Pushed At2023-11-20 12:50:47
Last Commit At2023-11-12 17:12:36
Release Count3
Last Release Namev1.0.1 (Posted on 2018-02-08 16:36:43)
First Release Namev0.5.0 (Posted on 2017-07-28 10:20:00)
用户参与
Stargazers Count325
Watchers Count12
Fork Count48
Commits Count52
Has Issues Enabled
Issues Count21
Issue Open Count1
Pull Requests Count8
Pull Requests Open Count0
Pull Requests Close Count20
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private