aboutsummaryrefslogtreecommitdiff
path: root/databases
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2024-09-18 05:51:30 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2024-09-18 06:13:04 +0000
commit4ac1770aa334a64ae5adfaad632a639a62ba4d5f (patch)
tree8fd15ab3da10a6391845d810b76c51e16f87f2e8 /databases
parent39f77ea66f0a71e5ad6bd213f835dca0bf1391f0 (diff)
downloadports-4ac1770aa334a64ae5adfaad632a639a62ba4d5f.tar.gz
ports-4ac1770aa334a64ae5adfaad632a639a62ba4d5f.zip
databases/rubygem-solid_queue: Add rubygem-solid_queue 0.9.0
Solid Queue is a DB-based queuing backend for Active Job, designed with simplicity and performance in mind. Besides regular job enqueuing and processing, Solid Queue supports delayed jobs, concurrency controls, recurring jobs, pausing queues, numeric priorities per job, priorities by queue order, and bulk enqueuing (enqueue_all for Active Job's perform_all_later). Solid Queue can be used with SQL databases such as MySQL, PostgreSQL or SQLite, and it leverages the FOR UPDATE SKIP LOCKED clause, if available, to avoid blocking and waiting on locks when polling jobs. It relies on Active Job for retries, discarding, error handling, serialization, or delays, and it's compatible with Ruby on Rails's multi-threading.
Diffstat (limited to 'databases')
-rw-r--r--databases/Makefile1
-rw-r--r--databases/rubygem-solid_queue/Makefile24
-rw-r--r--databases/rubygem-solid_queue/distinfo3
-rw-r--r--databases/rubygem-solid_queue/pkg-descr13
4 files changed, 41 insertions, 0 deletions
diff --git a/databases/Makefile b/databases/Makefile
index db3604c81a1a..f85ff7989d25 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -1044,6 +1044,7 @@
SUBDIR += rubygem-seed-fu
SUBDIR += rubygem-solid_cable
SUBDIR += rubygem-solid_cache
+ SUBDIR += rubygem-solid_queue
SUBDIR += rubygem-sqlite3
SUBDIR += rubygem-sqlite3-ruby
SUBDIR += rubygem-sqlite31
diff --git a/databases/rubygem-solid_queue/Makefile b/databases/rubygem-solid_queue/Makefile
new file mode 100644
index 000000000000..607ad68b36a0
--- /dev/null
+++ b/databases/rubygem-solid_queue/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= solid_queue
+PORTVERSION= 0.9.0
+CATEGORIES= databases rubygems
+MASTER_SITES= RG
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Database-backed Active Job backend
+WWW= https://github.com/rails/solid_queue
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
+
+RUN_DEPENDS= rubygem-activejob72>=7.1:devel/rubygem-activejob72 \
+ rubygem-activerecord72>=7.1:databases/rubygem-activerecord72 \
+ rubygem-concurrent-ruby>=1.3.1:devel/rubygem-concurrent-ruby \
+ rubygem-fugit>=1.11.0<1.12:devel/rubygem-fugit \
+ rubygem-railties72>=7.1:www/rubygem-railties72 \
+ rubygem-thor>=1.3.1<1.4:devel/rubygem-thor
+
+USES= gem
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/databases/rubygem-solid_queue/distinfo b/databases/rubygem-solid_queue/distinfo
new file mode 100644
index 000000000000..6bafcd582fc8
--- /dev/null
+++ b/databases/rubygem-solid_queue/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1726487310
+SHA256 (rubygem/solid_queue-0.9.0.gem) = 9825588764d068773dfc7d3d047207908ac381d3a5a79ff41b40358d26014e0f
+SIZE (rubygem/solid_queue-0.9.0.gem) = 37888
diff --git a/databases/rubygem-solid_queue/pkg-descr b/databases/rubygem-solid_queue/pkg-descr
new file mode 100644
index 000000000000..6082f17ba5ce
--- /dev/null
+++ b/databases/rubygem-solid_queue/pkg-descr
@@ -0,0 +1,13 @@
+Solid Queue is a DB-based queuing backend for Active Job, designed with
+simplicity and performance in mind.
+
+Besides regular job enqueuing and processing, Solid Queue supports delayed jobs,
+concurrency controls, recurring jobs, pausing queues, numeric priorities per
+job, priorities by queue order, and bulk enqueuing (enqueue_all for Active Job's
+perform_all_later).
+
+Solid Queue can be used with SQL databases such as MySQL, PostgreSQL or SQLite,
+and it leverages the FOR UPDATE SKIP LOCKED clause, if available, to avoid
+blocking and waiting on locks when polling jobs. It relies on Active Job for
+retries, discarding, error handling, serialization, or delays, and it's
+compatible with Ruby on Rails's multi-threading.