git: d1f3de679dba - main - devel/rubygem-que: Add rubygem-que 0.14.3

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Tue, 11 Jan 2022 18:52:14 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d1f3de679dba6fa987312ed4a036b8ed0f0547df

commit d1f3de679dba6fa987312ed4a036b8ed0f0547df
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2022-01-11 16:42:48 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2022-01-11 18:43:43 +0000

    devel/rubygem-que: Add rubygem-que 0.14.3
    
    Que is a high-performance job queue that improves the reliability of your
    application by protecting your jobs with the same ACID guarantees as the rest of
    your data.
    
    Que is a queue for Ruby and PostgreSQL that manages jobs using advisory locks,
    which gives it several advantages over other RDBMS-backed queues:
    - Concurrency - Workers don't block each other when trying to lock jobs, as
      often occurs with "SELECT FOR UPDATE"-style locking. This allows for very high
      throughput with a large number of workers.
    - Efficiency - Locks are held in memory, so locking a job doesn't incur a disk
      write. These first two points are what limit performance with other queues.
      Under heavy load, Que's bottleneck is CPU, not I/O.
    - Safety - If a Ruby process dies, the jobs it's working won't be lost, or left
      in a locked or ambiguous state - they immediately become available for any
      other worker to pick up.
    
    WWW: https://github.com/que-rb/que
---
 devel/Makefile              |  1 +
 devel/rubygem-que/Makefile  | 21 +++++++++++++++++++++
 devel/rubygem-que/distinfo  |  3 +++
 devel/rubygem-que/pkg-descr | 17 +++++++++++++++++
 4 files changed, 42 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 5754016b8822..0a82d885de8d 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -6652,6 +6652,7 @@
     SUBDIR += rubygem-ptreloaded
     SUBDIR += rubygem-puppet-resource_api
     SUBDIR += rubygem-pygments.rb
+    SUBDIR += rubygem-que
     SUBDIR += rubygem-r18n-core
     SUBDIR += rubygem-r18n-desktop
     SUBDIR += rubygem-r18n-rails
diff --git a/devel/rubygem-que/Makefile b/devel/rubygem-que/Makefile
new file mode 100644
index 000000000000..ecccdce08300
--- /dev/null
+++ b/devel/rubygem-que/Makefile
@@ -0,0 +1,21 @@
+# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
+
+PORTNAME=	que
+PORTVERSION=	0.14.3
+CATEGORIES=	devel rubygems
+MASTER_SITES=	RG
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Job queue that uses PostgreSQL advisory locks for speed and reliability
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+USES=		gem
+USE_RUBY=	yes
+
+NO_ARCH=	yes
+
+PLIST_FILES=	bin/que
+
+.include <bsd.port.mk>
diff --git a/devel/rubygem-que/distinfo b/devel/rubygem-que/distinfo
new file mode 100644
index 000000000000..10cd8639a8a3
--- /dev/null
+++ b/devel/rubygem-que/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1641045722
+SHA256 (rubygem/que-0.14.3.gem) = e2b021a77cdd635577ea43e5b88de57f79a6ce62f318a4527fd4dc26f8f34819
+SIZE (rubygem/que-0.14.3.gem) = 58368
diff --git a/devel/rubygem-que/pkg-descr b/devel/rubygem-que/pkg-descr
new file mode 100644
index 000000000000..b19b7129317d
--- /dev/null
+++ b/devel/rubygem-que/pkg-descr
@@ -0,0 +1,17 @@
+Que is a high-performance job queue that improves the reliability of your
+application by protecting your jobs with the same ACID guarantees as the rest of
+your data.
+
+Que is a queue for Ruby and PostgreSQL that manages jobs using advisory locks,
+which gives it several advantages over other RDBMS-backed queues:
+- Concurrency - Workers don't block each other when trying to lock jobs, as
+  often occurs with "SELECT FOR UPDATE"-style locking. This allows for very high
+  throughput with a large number of workers.
+- Efficiency - Locks are held in memory, so locking a job doesn't incur a disk
+  write. These first two points are what limit performance with other queues.
+  Under heavy load, Que's bottleneck is CPU, not I/O.
+- Safety - If a Ruby process dies, the jobs it's working won't be lost, or left
+  in a locked or ambiguous state - they immediately become available for any
+  other worker to pick up.
+
+WWW: https://github.com/que-rb/que