30 open-source projects similar to yigit/android-priority-jobqueue, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Android Priority Jobqueue alternative.
River is a transactional job queue and distributed job scheduler for Go that uses PostgreSQL for persistence and state management. It functions as a resumable task framework, allowing long-running background work to be broken into persisted steps that can resume from the last saved checkpoint after a failure. The system ensures strict data consistency by allowing background tasks to be enqueued and completed within the same database transaction as the primary application data. It distinguishes itself through a coordinator model that employs leader election to manage periodic and delayed tasks
Inngest is a durable execution framework and event-driven automation engine designed to orchestrate background workflows. It enables developers to build resilient, stateful processes by memoizing function steps, ensuring that long-running tasks can automatically resume from the last successful operation after failures, timeouts, or infrastructure restarts. The platform distinguishes itself through its event-driven architecture, which uses a schema-validated bus to trigger functions and coordinate complex, multi-step logic. It employs an onion-model middleware approach for cross-cutting concer
Kue is a Redis-backed job queue library for Node.js that provides a complete system for defining, scheduling, and processing background work. It stores job metadata and state in Redis lists and sorted sets, enabling persistent, in-memory operations with configurable concurrency control and priority-sorted processing. The library includes a RESTful HTTP API for managing jobs and a web-based monitoring dashboard for inspecting job status, progress, and logs. The system distinguishes itself through its event-driven worker model, where workers listen for job events via Redis pub/sub and process j
This is a background task library for Android designed to schedule and execute jobs based on specific device-state constraints. It functions as a job scheduler that manages the timing and lifecycle of background operations across different versions of the Android operating system. The library triggers background work based on resource constraints, such as network connectivity, charging status, or user idleness. It utilizes an abstraction layer to ensure consistent execution across various OS versions and uses unique identifiers to track, update, or cancel pending operations. The framework co
Oban is a distributed background job processing system and task scheduler that uses PostgreSQL for transactional job storage and reliable execution across multiple nodes. It serves as a PostgreSQL-backed background worker and job queue, coordinating task execution and concurrency through a relational database to ensure delivery guarantees. The system differentiates itself through a distributed workflow orchestrator capable of managing multi-step processing pipelines, dependent job sequencing, and shared context. It provides advanced orchestration tools including job batching, chunked processi
rq is a distributed task queue and background worker system for Python that uses a Redis backend to decouple task submission from execution. It functions as a reliable message queue and task scheduler, allowing Python functions or asyncio coroutines to be processed asynchronously across multiple worker processes. The project distinguishes itself through reliable queuing mechanisms that prevent job loss during worker crashes using atomic operations. It provides specialized orchestration capabilities, including the prevention of duplicate jobs, job execution prioritization, and the ability to m
Hangfire is a background job scheduler and distributed task queue for .NET applications. It serves as a job orchestration framework that offloads heavy processing to background workers using a SQL-backed processor to manage job state across multiple servers. The framework distinguishes itself through reliable task scheduling, where job metadata and arguments are persisted in an external database to ensure tasks survive application restarts. It supports advanced orchestration patterns, including the ability to chain dependent tasks so that a child job triggers automatically upon the successful
.. image:: https://media.charlesleifer.com/blog/photos/huey3-logo.png
Delayed Job is a Ruby library that provides a database-backed system for asynchronous task processing. It enables the offloading of long-running or time-consuming operations to background workers by serializing method calls and their arguments into a relational database, ensuring that tasks persist across application restarts. The system functions as a distributed priority task scheduler, where independent worker processes continuously poll the database for pending jobs. By integrating task creation directly into application database transactions, it guarantees that jobs are only queued when
Concurrent Ruby is a comprehensive concurrency toolkit for the Ruby language that provides thread-safe data structures, synchronization primitives, and asynchronous execution patterns. It implements core concurrency abstractions including an actor model framework where isolated actors communicate through asynchronous message passing, a future and promise system for composing non-blocking operations, and thread pool executors that manage reusable worker threads for concurrent task execution. The library distinguishes itself through a broad set of coordination mechanisms that go beyond basic th
Oban is a relational database-backed job processor and task scheduler for Elixir applications. It functions as a distributed workflow orchestrator that leverages database primitives to ensure job persistence, reliability, and consistent state management across clusters. The system distinguishes itself through complex workflow orchestration, enabling the composition of task dependencies using batching, sequential processing, and fan-out or fan-in patterns. It provides global throughput limiting and uniqueness enforcement to prevent duplicate work and protect downstream resources across distrib
Hatchet is an open-source durable workflow engine and task orchestration platform. It provides a framework for building and executing fault-tolerant, multi-step pipelines as directed acyclic graphs (DAGs), with automatic retries, scheduling, and real-time observability. The system is built around durable task checkpointing, which persists execution state after each step so work can resume from the last checkpoint after a worker crash or restart, and it supports event-driven task resumption that pauses a task until a matching external event arrives. The platform distinguishes itself through it
Faktory is an open-source work server that queues, dispatches, and manages background jobs across multiple programming languages. It stores job payloads as JSON hashes in a Redis-backed queue and provides language-specific client and worker libraries that enable any language to push jobs to the server or fetch and execute them. The server includes a batch workflow orchestrator that groups jobs into batches with completion tracking for coordinating multi-step asynchronous workflows. It features a configurable job uniqueness filter that prevents duplicate enqueues within a time window, an expon
BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It functions as a distributed queue manager and task scheduler, utilizing Redis to manage asynchronous job processing and persistence. The system distinguishes itself through its role as a job workflow orchestrator, enabling the definition of complex parent-child job dependencies and hierarchies for multi-step workflows. It provides sandboxed process execution to isolate heavy workloads and prevent event loop blocking, alongside distributed rate limiting to protect downstream servic
Resque is a Ruby library for enqueueing and processing asynchronous tasks using Redis as a data store. It functions as a distributed task processor and queue manager, allowing long-running work to be moved out of the main request cycle. The system executes background jobs in isolated child processes to prevent memory leaks and provides a web-based dashboard for monitoring queue depths, worker activity, and failed job statistics. Capability areas include distributed worker coordination via signals, error handling with job retry mechanisms, and priority-ordered queue management. It also suppor
This library provides a task scheduling framework for Node.js applications, enabling the automation of recurring operations using standard cron syntax. It functions as a background task manager that maintains a stateful registry of jobs, allowing for runtime inspection, modification, and lifecycle control of scheduled operations. The project distinguishes itself through support for distributed environments and resource management. It includes mechanisms to coordinate tasks across multiple application instances, ensuring that scheduled work executes exactly once to prevent overlap or resource
Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations
Rayon is a data parallelism library for Rust that provides a framework for converting sequential computations into parallel operations. It enables the transformation of standard data structures and loops into parallel iterators, allowing workloads to be distributed across multiple processor cores. By utilizing a work-stealing scheduler, the library dynamically balances tasks to maximize throughput and minimize execution time. The library distinguishes itself through its focus on safe, scoped task synchronization, which ensures that all spawned operations complete before a scope exits to preve
Automatic Optical Disc Ripping Server is a headless system that detects inserted CDs, DVDs, and Blu-rays to automatically extract media, transcode video, and eject discs. It functions as a multi-drive media digitizer using a concurrent processing pipeline to rip and transcode media from several optical drives simultaneously without queuing. The system includes an asynchronous video transcoding pipeline that batches conversion tasks to run during scheduled off-peak hours. It also serves as a media server automation tool, fetching metadata from online APIs to name folders and trigger library re
Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications. It utilizes ahead-of-time native compilation to transform Java code into standalone, optimized binaries that eliminate the need for a virtual machine, enabling rapid startup and reduced memory consumption. By performing code augmentation during the build phase, it shifts heavy processing tasks away from runtime, ensuring that applications are optimized for cloud-native environments. The framework distinguishes itself through a unified approach to reactive and imperative program
This project is a sample library and implementation guide for using RxJava to manage asynchronous data streams and concurrent tasks in Android applications. It provides a collection of reference implementations for reactive programming, focusing on functional operators to transform and combine asynchronous data flows. The library demonstrates specific Android architectural patterns, such as implementing decoupled event buses for component communication and coordinating parallel network requests. It includes concrete examples of mobile-specific patterns including search input debouncing, list
This project is a collection of Android application reference implementations and sample projects. It provides educational source code demonstrating standard development patterns for building functional mobile applications. The repository includes specific examples for Android UI design, data persistence, and hardware integration. It provides reference implementations for handling long-running background processes and system broadcasts, as well as demonstrations of building layouts and custom graphics. The codebase covers a broad range of capabilities including network programming for remote
Tenacity is a Python retry library and fault tolerance framework designed to automatically re-execute failing functions based on custom conditions, wait intervals, and stop criteria. It provides a mechanism to apply retry logic to both synchronous functions and asynchronous coroutines. The library implements exponential backoff to increase delays between retries, helping to manage transient network failures and prevent the overloading of services. Its capabilities cover the definition of retry conditions based on exception types or return values, as well as the enforcement of duration limits
Maestro is a distributed job scheduler and containerized data pipeline tool designed to coordinate complex sequences of tasks. It functions as a Kubernetes workflow orchestrator and MLOps automation platform, utilizing directed acyclic graphs to manage task dependencies and execution order across computing clusters. The system distinguishes itself through the use of isolated container environments for each workflow step, ensuring consistent runtime dependencies. It incorporates an asynchronous event bus to coordinate state transitions and provides lifecycle hook integration that dispatches sy
node-schedule is a job scheduler for Node.js that executes arbitrary functions based on specific dates or recurring rules. It functions as a date-based and event-driven scheduling system for JavaScript environments, allowing for the automation of one-off events and periodic tasks. The project supports recurring job scheduling through cron-style strings and recurrence rules, as well as the ability to schedule tasks for precise, single execution dates. It includes timezone-aware date calculations to map recurring rules against global or local time offsets. The system provides a comprehensive j
Common.Utility is a general purpose utility library providing a collection of helper classes for common programming tasks. It functions as a data security framework, a database access wrapper, and a suite of tools for system administration and network communication. The library includes a multimedia processing suite for generating barcodes and QR codes, editing images, and converting video formats. It also provides a network communication toolkit for managing HTTP requests and FTP transfers, as well as integration with email and notification services. The project covers a broad set of capabi
pg_cron is a PostgreSQL job scheduler and background task manager that executes periodic SQL commands directly within the database engine. It functions as an automation tool using standard cron syntax to trigger recurring administrative and data tasks on a defined timetable. The extension provides the capability to manage and trigger scheduled SQL operations across multiple target databases from a single instance. It includes a logging system that acts as an execution auditor, tracking the start time, end time, and success status of every job run. The project covers database maintenance auto
APScheduler is a Python task scheduler designed to execute functions at specific times or recurring intervals. It functions as an asynchronous background scheduler and distributed job dispatcher, allowing tasks to run concurrently with application lifecycles and web server request handling. The system distinguishes itself through a persistent job store that saves schedules and task states in external databases, ensuring continuity across process restarts. It separates task scheduling from execution by dispatching jobs to distributed workers in separate processes to prevent execution bottlenec
Android Volley is a client-side networking framework and HTTP library for Android applications. It functions as an asynchronous request queue manager and REST API client used to coordinate communication between mobile apps and remote servers. The project includes an HTTP cache management system that implements a cache-first retrieval strategy, checking local disk or memory storage for valid responses before initiating network requests. It manages the scheduling and prioritization of multiple network requests to optimize data transfer on mobile devices. The framework handles asynchronous data
node-cron is a library for executing functions or system commands on recurring schedules using standard cron syntax within a Node.js environment. It provides a scheduler for automating background tasks and server-side operations on a fixed timetable. The project includes a cron expression validator to verify timing strings and an execution date calculator to determine the exact date and time of the next scheduled occurrence. A job execution manager provides controls for starting, stopping, and updating scheduled tasks while preventing overlapping executions and handling failures.