From nobody Wed Sep 18 06:18:39 2024 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X7pPX4twxz5Vyxb; Wed, 18 Sep 2024 06:18:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X7pPX2778z4DnY; Wed, 18 Sep 2024 06:18:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726640320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hxpfSDzPfZ2e7qCAdl6eoKCG/rXHDkGRNvZ10jOggCU=; b=Bk2gUdcAtKxpMLwjAg0PY2AfWwkTE/hxlkS5e8wYnbEeyFy4wtTEm2Jaeo1O1TVallUS+q /PbUIyFrhIk5yh5bqjXgbSXbrTEMbmjWaYQeh4MBh2uwz9sEsSYxqLPAMiq8FroWfJvy5o cpaZ8ANA/OqYhRuxQLOJ36NTcaBH8r1AoGISoT9XkrBhObFRo+O34woiD5cEtNqzw0faCz aJ3iwUwYilQgwr6XVT+Mi0aui4DWBo7gdf0MkGDncPRd9YlXl82oZZw7GnlK9QGMbCvPwf QZG8mb/iZIOEyTJMMjoa261e4v0U+IFj0I+AQCUNfMepzpQQxgKzYG2/pjHYuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726640320; a=rsa-sha256; cv=none; b=MnKU8QZZuMonElDeGC+i3IgQ61EviGeoI8Iq+jPiDy8gNxzS5ZbzpMc2WM+Rprv3+pUIDv YCZ0nnJl8PJk0I61mjBJkpyN3sCHA564DUAEEr4bv05vxZwSXgx9kNF+O4Nas8nDjb4Twf WwkpYbUoyrjh5ZE8nUDQgZUBeJeodGmHe7zdez3QuakVZDrI8kUjXyuPumo46wKpasb05F w1mfhGsg2Aj8+LLTAh5WAXZYeB5Gok61DNehkjXch+XgAZFOkDSeskUj7gM4u50orf2Uqs Asx+Vv6Ao8Gre1YiRGiI6FlWrsqycmI3lmK3V4zsCdXLL3yu2DAh710m7r33Hw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726640320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hxpfSDzPfZ2e7qCAdl6eoKCG/rXHDkGRNvZ10jOggCU=; b=WNc05iBQ/o2nu+4Mgj2CF2qK8Hxk67C1QcgaSpQOZc9v9aarlmGLzR8xn6I3thyjnDFuEi 5QZ/XQ6giOwnIBAdvD/yExG22l0edl/ZQLdljjrkqmn6mNQNNJtSFFbYzluWQbb3VHwuRU kvwJNe6WlLIuIVBNc9x8FPjlRzI8S4Zubleh+mtCliaiFxyv3sIDkM5O2bVjxbW4qm9/uJ ldMXtji3zZOcRgpKE1CSOKXVlbma4NittTLi/Fk0wwNwPTuTsAxx2e2bb7+vv2KRoT9EI4 XT1XGYSKHfC9k/5OUjq1rYlj7M1okCL8CwWzsxOb7qB9r93SYmTiVA8w7e44hQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X7pPX0X21z19Yv; Wed, 18 Sep 2024 06:18:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48I6IdZ6031774; Wed, 18 Sep 2024 06:18:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48I6IdwB031771; Wed, 18 Sep 2024 06:18:39 GMT (envelope-from git) Date: Wed, 18 Sep 2024 06:18:39 GMT Message-Id: <202409180618.48I6IdwB031771@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Po-Chuan Hsieh Subject: git: 4ac1770aa334 - main - databases/rubygem-solid_queue: Add rubygem-solid_queue 0.9.0 List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sunpoet X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4ac1770aa334a64ae5adfaad632a639a62ba4d5f Auto-Submitted: auto-generated The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=4ac1770aa334a64ae5adfaad632a639a62ba4d5f commit 4ac1770aa334a64ae5adfaad632a639a62ba4d5f Author: Po-Chuan Hsieh AuthorDate: 2024-09-18 05:51:30 +0000 Commit: Po-Chuan Hsieh CommitDate: 2024-09-18 06:13:04 +0000 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. --- databases/Makefile | 1 + databases/rubygem-solid_queue/Makefile | 24 ++++++++++++++++++++++++ databases/rubygem-solid_queue/distinfo | 3 +++ databases/rubygem-solid_queue/pkg-descr | 13 +++++++++++++ 4 files changed, 41 insertions(+) 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 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.