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)
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.