git: d1f3de679dba - main - devel/rubygem-que: Add rubygem-que 0.14.3
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
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