Android Background Task Managers - Provides an Android task manager that runs jobs in a configurable thread pool with sequential group execution and metered network pausing.
Job Scheduling - Delays execution of a job by a specified number of milliseconds after it is added to the queue.
Deferred - Implements deferred job scheduling by delaying execution by a configurable number of milliseconds after enqueuing.
Network-Aware Execution Filters - Pauses or resumes background jobs based on network type and connectivity to avoid data overuse on metered connections.
Job State Persistence - Persists queued tasks to durable storage so they survive app restarts and resume execution.
Job State Persistence - Saves queued tasks to durable storage so they survive app or device reboots.
Background Task Schedulers - Stores queued tasks to durable storage so they survive app restarts and resume execution.
Task Execution Prioritization - Orders queued tasks by user-defined priority so higher-importance jobs run before lower-importance ones.
Job Priority Management - Orders background tasks by user-defined priority so higher-importance jobs execute before lower-importance ones.
Priority-Based Job Schedulers - Orders tasks by user-defined priority and supports deferred execution, retry logic, and network constraints.
Customizable Persistence and Ordering - Allows replacing default serialization or queue storage with custom implementations for alternative storage or ordering.
Persistent Job Queue Libraries - Stores queued tasks to durable storage so they survive app restarts and resume execution automatically.
Automatic Retry Mechanisms - Returns a RetryConstraint from a job's failure handler to specify whether and how the job should be retried.
Grouped Sequential Execution - Provides grouped sequential execution where jobs in the same group run one after another without parallelism.
Pluggable Queue Orderings - Provides a pluggable queue factory to swap built-in memory or SQLite queues with custom ordering.
Scalable Thread Pools - Provides a configurable thread pool that scales workers between min and max counts with keep-alive timeout.
Network-Aware - Pauses or resumes job execution based on network type, requiring connectivity or unmetered connections.
Android Priority Job Queues - Provides an Android library that manages a persistent, priority-ordered queue of background jobs with configurable execution policies.
Configurable Worker Thread Pools - Configures worker thread pools with adjustable minimum, maximum, and keep-alive parameters that scale based on load factor.
Customizable Retry Constraints - Ships a customizable retry mechanism where failure handlers return RetryConstraint objects to control retry behavior.
Network-Required Job Execution - Configures jobs to run only when a network connection is available, optionally requiring an unmetered connection.
Job Deduplication - Prevents duplicate jobs from entering the queue by cancelling new jobs with the same unique identifier.
Job Tracking by Identifier - Assigns a UUID string to each job at creation, allowing callers to reference the job before it is added to the queue.
Platform Scheduler Integrations - Delegates job wake-up to platform schedulers such as JobScheduler or GcmNetworkManager to trigger execution.
Isolated Job Manager Instances - Supports running multiple independent job managers with separate persistence layers identified by unique identifiers.
Pluggable Queue Factories - Allows swapping built-in memory or SQLite queues with custom queue factories for alternative storage or ordering.
Metered Network Pausing - Pauses job execution when the device is on a metered connection to avoid data overuse.
Job Lifecycle Injectors - Registers an injector that runs before a job's onAdded callback and after deserialization from disk.
Custom Job Serialization - Replaces default Java serialization with custom serializers like JSON for storing jobs to disk.
Custom Network Monitor Integrations - Provides a custom network utility that checks connectivity and listens for changes to resume network-bound jobs instantly.