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
22 lines
380 B
Makefile
22 lines
380 B
Makefile
# 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>
|