A persistent, at-least-once priority job queue for React Native, backed by Realm storage and designed for background processing.
React Native Queue is a persistent, at-least-once priority job queue library for React Native applications. It solves the problem of managing long-running or complex tasks by providing durable job processing that survives app restarts and integrates with background services. Jobs are stored in Realm, ensuring they are processed even if the user closes and reopens the app.
React Native developers who need reliable background job processing for tasks like media processing, API calls, cache warming, or offline content downloading. It's ideal for apps requiring durable task execution across app sessions.
Developers choose React Native Queue for its simplicity, persistence, and seamless integration with OS background tasks and worker threads. Unlike basic async solutions, it offers job durability, priority handling, retry logic, and lifecycle callbacks out of the box.
A React Native Job Queue
Jobs are stored in Realm, ensuring they survive app restarts and are processed until completion or failure, as highlighted in the persistent storage feature.
Seamlessly integrates with OS background tasks like React Native Background Task, enabling job processing even when the app is closed, demonstrated in the advanced usage examples.
Compatible with React Native Workers for offloading CPU-intensive tasks to dedicated threads, improving performance for complex operations.
Offers configurable options for timeouts, retries, priority, and lifecycle callbacks, providing granular control over job behavior as detailed in the options section.
With just two primary methods (addWorker and createJob), developers can quickly set up and manage jobs, making it accessible for common use cases.
Requires linking Realm, a native module, which adds setup steps and can cause issues in managed environments or during updates, as noted in the installation instructions.
The README explicitly states jobs must be idempotent, restricting use cases where duplicate job execution could lead to data corruption or unintended side-effects.
Built specifically for React Native, it cannot be used in other JavaScript environments or for server-side job processing, limiting its applicability.
Persistence with Realm introduces overhead compared to in-memory queues, potentially affecting performance for high-frequency or low-latency job processing.
🔥 A well-tested feature-rich modular Firebase implementation for React Native. Supports both iOS & Android platforms for all Firebase services.
React Native Local and Remote Notifications
Device Information for React Native iOS and Android
Native filesystem access for react-native
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.