nsj-queue-lib
Biblioteca para facilitar a implementação de filas e workers.
Decision gist · record as of 2026-08-14
Yes, with conditions. Install if you need transactional queue guarantees tightly coupled to database transactions and are willing to accept higher database load in exchange for simpler architecture and direct SQL monitoring. Do not install if your queue traffic is very high, you need a separate broker for isolation, or you cannot verify the license terms and internal dependency availability. The aging maintenance status (397 days since last release, Alpha stage) suggests limited active development; evaluate whether the package is still maintained for your target database versions.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Postgres, MySQL, or Singlestore database with a queue table created via the db_gen utility or manual schema setup.
- Environment variables must be configured to connect to the database and specify the queue table name.
- Low install friction; pure Python wheel.
License · maintenance · safety
(unclear) — License treatment is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license terms in the repository before adopting this package in a commercial or restricted-license context.
last release 2025-07-13 (397 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 132,654 downloads/mo, #11,546 on PyPI
Alternatives
Verify before relying
pip install nsj-queue-lib
from nsj_queue_lib.worker_base import WorkerBase
class MyWorker(WorkerBase):
def execute(self, payload):
# Process task
pass
if __name__ == "__main__":
MyWorker().run()- Whether the two internal dependencies (nsj_sql_utils_lib, nsj_gcf_utils) are publicly available or require special access.
- Current maintenance timeline and whether the aging status reflects active use or abandonment.
- Performance characteristics and scalability limits when queue payload or message volume is high.
- Compatibility and testing status with modern versions of Postgres, MySQL, and Singlestore.
What it is and what it does
nsj-queue-lib is a Python library that implements task queues and worker patterns using a relational database as the queue backend instead of a separate message broker like RabbitMQ. It supports three worker types: simple queuing (one message, one worker), pub/sub (one message replicated to multiple subscribers with independent processing), and webhooks (pub/sub without code implementation, configured via subscriptions). The core design ensures transactional consistency—messages are enqueued atomically with the database transaction that created them, and dequeued only after successful processing, eliminating the need for complex protocols like two-phase commit.
The trade-off is that all queue data and payloads live in the database itself, increasing storage and compute load on the database server. The library is designed for Postgres, MySQL, and Singlestore only. It includes utilities to generate queue schemas, a client module for inserting tasks, and base classes to extend for custom worker logic. Workers typically run as separate processes or containers with environment variables specifying the queue table and database connection.
Use it for
- Implement asynchronous task processing where transactional consistency with the originating database transaction is critical.
- Monitor queue depth and task status directly via SQL queries using BI tools like Redash or DundasBI.
- Build pub/sub workflows where a single event triggers independent processing by multiple subscribers.
- Deploy webhook handlers that call external services without writing custom subscription code.
- Avoid the operational complexity of running a separate message broker when your application already depends on a relational database.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
Install if you need transactional queue guarantees tightly coupled to database transactions and are willing to accept higher database load in exchange for simpler architecture and direct SQL monitoring. Do not install if your queue traffic is very high, you need a separate broker for isolation, or you cannot verify the license terms and internal dependency availability. The aging maintenance status (397 days since last release, Alpha stage) suggests limited active development; evaluate whether the package is still maintained for your target database versions.
Install
nsj-queue-lib on PyPI
Before you install
Low install friction; pure Python wheel. Maintenance status is aging (397 days since last release), though the package remains in Alpha development stage. Runtime dependencies include psycopg2_binary, python-logging-loki, pytest, and two internal Nasajon libraries (nsj_sql_utils_lib, nsj_gcf_utils), which may introduce additional operational considerations.
Requires Postgres, MySQL, or Singlestore database with a queue table created via the db_gen utility or manual schema setup. Environment variables must be configured to connect to the database and specify the queue table name.
License in practice
License treatment is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license terms in the repository before adopting this package in a commercial or restricted-license context.
Quickstart
pip install nsj-queue-lib
from nsj_queue_lib.worker_base import WorkerBase
class MyWorker(WorkerBase):
def execute(self, payload):
# Process task
pass
if __name__ == "__main__":
MyWorker().run()
Verify before relying
- Whether the two internal dependencies (nsj_sql_utils_lib, nsj_gcf_utils) are publicly available or require special access.
- Current maintenance timeline and whether the aging status reflects active use or abandonment.
- Performance characteristics and scalability limits when queue payload or message volume is high.
- Compatibility and testing status with modern versions of Postgres, MySQL, and Singlestore.
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.4 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 5 packagespsycopg2_binarypython-logging-lokipytestnsj_sql_utils_libnsj_gcf_utils |
| Maintenance | Aging 397 days since the last release |
| First released | |
| Downloads | 132,654 / month, #11,546 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaIntended Audience :: DevelopersProgramming Language :: Python :: 3Topic :: Software Development :: Libraries |
Evidence: nsj_queue_lib-1.2.2-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “transactional message queue”
- nsj-queue-libImplements transactional queues and workers backed by a relational…
- pgqueuerPgQueuer turns PostgreSQL into a background job queue, letting you…
- kafka-pythonPure-Python Apache Kafka client library providing high-level…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also nsj-sql-utils-lib · nsj-gcf-utils · nsj-rest-lib · saq · taskiq-redis · nsj-rest-lib2 · dbos · arq · google-cloud-pubsublite