# yigit/android-priority-jobqueue

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/yigit-android-priority-jobqueue).**

3,385 stars · 392 forks · Java

## Links

- GitHub: https://github.com/yigit/android-priority-jobqueue
- awesome-repositories: https://awesome-repositories.com/repository/yigit-android-priority-jobqueue.md

## Tags

### Software Engineering & Architecture

- [Android Background Task Managers](https://awesome-repositories.com/f/software-engineering-architecture/background-task-management/android-background-task-managers.md) — Provides an Android task manager that runs jobs in a configurable thread pool with sequential group execution and metered network pausing.
- [Network-Aware](https://awesome-repositories.com/f/software-engineering-architecture/execution-control/asynchronous-task-queueing/job-queues/execution-control/network-aware.md) — Pauses or resumes job execution based on network type, requiring connectivity or unmetered connections.
- [Android Priority Job Queues](https://awesome-repositories.com/f/software-engineering-architecture/queue-implementations/priority-queues/android-priority-job-queues.md) — Provides an Android library that manages a persistent, priority-ordered queue of background jobs with configurable execution policies.
- [Metered Network Pausing](https://awesome-repositories.com/f/software-engineering-architecture/execution-pausing/metered-network-pausing.md) — Pauses job execution when the device is on a metered connection to avoid data overuse. ([source](https://github.com/yigit/android-priority-jobqueue/blob/master/jobqueue/src/main/java/com/birbit/android/jobqueue/network/NetworkUtil.java))
- [Job Lifecycle Injectors](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/dependency-injection/job-lifecycle-injectors.md) — Registers an injector that runs before a job's onAdded callback and after deserialization from disk. ([source](https://github.com/yigit/android-priority-jobqueue/wiki/Job-Manager-Configuration))
- [Custom Job Serialization](https://awesome-repositories.com/f/software-engineering-architecture/job-enqueueing-serialization/custom-job-serialization.md) — Replaces default Java serialization with custom serializers like JSON for storing jobs to disk. ([source](https://github.com/yigit/android-priority-jobqueue/wiki/Job-Manager-Configuration))

### Part of an Awesome List

- [Job Scheduling](https://awesome-repositories.com/f/awesome-lists/devops/job-scheduling.md) — Delays execution of a job by a specified number of milliseconds after it is added to the queue. ([source](https://github.com/yigit/android-priority-jobqueue/blob/master/jobqueue/src/main/java/com/birbit/android/jobqueue/Params.java))
- [Deferred](https://awesome-repositories.com/f/awesome-lists/devops/job-scheduling/deferred.md) — Implements deferred job scheduling by delaying execution by a configurable number of milliseconds after enqueuing.
- [Developer Utilities](https://awesome-repositories.com/f/awesome-lists/devtools/developer-utilities.md) — Job queue for scheduling background tasks.

### Data & Databases

- [Network-Aware Execution Filters](https://awesome-repositories.com/f/data-databases/calendar-aware-date-offsets/job-execution-filtering/network-aware-execution-filters.md) — Pauses or resumes background jobs based on network type and connectivity to avoid data overuse on metered connections.
- [Job State Persistence](https://awesome-repositories.com/f/data-databases/flat-file-storage/local-persistence/job-state-persistence.md) — Persists queued tasks to durable storage so they survive app restarts and resume execution. ([source](https://github.com/yigit/android-priority-jobqueue/blob/master/examples/twitter/TwitterClient/src/com/birbit/android/jobqueue/examples/twitter/TwitterApplication.java))
- [Job State Persistence](https://awesome-repositories.com/f/data-databases/persistent-application-state/job-state-persistence.md) — Saves queued tasks to durable storage so they survive app or device reboots. ([source](https://github.com/yigit/android-priority-jobqueue/blob/master/examples/twitter/TwitterClient/src/com/birbit/android/jobqueue/examples/twitter/SampleTwitterClient.java))
- [Customizable Job Persistence Frameworks](https://awesome-repositories.com/f/data-databases/persistent-application-state/job-state-persistence/customizable-job-persistence-frameworks.md) — Allows replacing default serialization with custom formats like JSON for storing jobs to disk.

### Development Tools & Productivity

- [Background Task Schedulers](https://awesome-repositories.com/f/development-tools-productivity/background-task-schedulers.md) — Stores queued tasks to durable storage so they survive app restarts and resume execution.
- [Task Execution Prioritization](https://awesome-repositories.com/f/development-tools-productivity/task-prioritization/task-execution-prioritization.md) — Orders queued tasks by user-defined priority so higher-importance jobs run before lower-importance ones. ([source](https://github.com/yigit/android-priority-jobqueue/blob/master/examples/twitter/TwitterClient/src/com/birbit/android/jobqueue/examples/twitter/SampleTwitterClient.java))

### DevOps & Infrastructure

- [Job Priority Management](https://awesome-repositories.com/f/devops-infrastructure/job-priority-management.md) — Orders background tasks by user-defined priority so higher-importance jobs execute before lower-importance ones.
- [Priority-Based Job Schedulers](https://awesome-repositories.com/f/devops-infrastructure/job-priority-management/priority-based-job-schedulers.md) — Orders tasks by user-defined priority and supports deferred execution, retry logic, and network constraints.
- [Customizable Persistence and Ordering](https://awesome-repositories.com/f/devops-infrastructure/job-queues/customizable-persistence-and-ordering.md) — Allows replacing default serialization or queue storage with custom implementations for alternative storage or ordering.
- [Persistent Job Queue Libraries](https://awesome-repositories.com/f/devops-infrastructure/job-queues/persistent-job-queue-libraries.md) — Stores queued tasks to durable storage so they survive app restarts and resume execution automatically.
- [Automatic Retry Mechanisms](https://awesome-repositories.com/f/devops-infrastructure/job-scheduling/automatic-retry-mechanisms.md) — Returns a RetryConstraint from a job's failure handler to specify whether and how the job should be retried. ([source](https://github.com/yigit/android-priority-jobqueue/wiki/V1-to-V2-migration))
- [Sequential and Parallel Job Groups](https://awesome-repositories.com/f/devops-infrastructure/job-scheduling/group-execution-control/sequential-and-parallel-job-groups.md) — Runs jobs in the same group one after another to enforce serial execution order within a group.
- [Grouped Sequential Execution](https://awesome-repositories.com/f/devops-infrastructure/job-scheduling/group-execution-control/sequential-and-parallel-job-groups/grouped-sequential-execution.md) — Provides grouped sequential execution where jobs in the same group run one after another without parallelism.
- [Pluggable Queue Orderings](https://awesome-repositories.com/f/devops-infrastructure/task-queues/pluggable-queue-orderings.md) — Provides a pluggable queue factory to swap built-in memory or SQLite queues with custom ordering. ([source](https://github.com/yigit/android-priority-jobqueue/wiki/Job-Manager-Configuration))
- [Network-Required Job Execution](https://awesome-repositories.com/f/devops-infrastructure/high-availability-job-execution/network-required-job-execution.md) — Configures jobs to run only when a network connection is available, optionally requiring an unmetered connection. ([source](https://github.com/yigit/android-priority-jobqueue/blob/master/jobqueue/src/main/java/com/birbit/android/jobqueue/Params.java))
- [Unmetered Network Resume](https://awesome-repositories.com/f/devops-infrastructure/job-execution-engines/unmetered-network-resume.md) — Detects unmetered network connections and automatically resumes queued jobs. ([source](https://github.com/yigit/android-priority-jobqueue/blob/master/jobqueue/src/main/java/com/birbit/android/jobqueue/network/NetworkUtil.java))
- [Job Deduplication](https://awesome-repositories.com/f/devops-infrastructure/job-queues/job-deduplication.md) — Prevents duplicate jobs from entering the queue by cancelling new jobs with the same unique identifier. ([source](https://github.com/yigit/android-priority-jobqueue/blob/master/jobqueue/src/main/java/com/birbit/android/jobqueue/Params.java))
- [Job Tracking by Identifier](https://awesome-repositories.com/f/devops-infrastructure/job-queues/job-deduplication/job-tracking-by-identifier.md) — Assigns a UUID string to each job at creation, allowing callers to reference the job before it is added to the queue. ([source](https://github.com/yigit/android-priority-jobqueue/wiki/V1-to-V2-migration))
- [Platform Scheduler Integrations](https://awesome-repositories.com/f/devops-infrastructure/job-scheduling/concurrent-job-schedulers/platform-scheduler-integrations.md) — Delegates job wake-up to platform schedulers such as JobScheduler or GcmNetworkManager to trigger execution. ([source](https://github.com/yigit/android-priority-jobqueue/wiki/V1-to-V2-migration))
- [Isolated Job Manager Instances](https://awesome-repositories.com/f/devops-infrastructure/job-scheduling/dynamic-job-managers/isolated-job-manager-instances.md) — Supports running multiple independent job managers with separate persistence layers identified by unique identifiers. ([source](https://github.com/yigit/android-priority-jobqueue/wiki/Job-Manager-Configuration))
- [Pluggable Queue Factories](https://awesome-repositories.com/f/devops-infrastructure/task-queues/pluggable-queue-orderings/pluggable-queue-factories.md) — Allows swapping built-in memory or SQLite queues with custom queue factories for alternative storage or ordering.

### Programming Languages & Runtimes

- [Scalable Thread Pools](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/concurrency/task-orchestration-frameworks/thread-pools/custom-thread-pool-configurations/scalable-thread-pools.md) — Provides a configurable thread pool that scales workers between min and max counts with keep-alive timeout.

### System Administration & Monitoring

- [Configurable Worker Thread Pools](https://awesome-repositories.com/f/system-administration-monitoring/alert-thresholds/thread-pool/configurable-worker-thread-pools.md) — Configures worker thread pools with adjustable minimum, maximum, and keep-alive parameters that scale based on load factor. ([source](https://github.com/yigit/android-priority-jobqueue/wiki/Job-Manager-Configuration))
- [Custom Network Monitor Integrations](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-status-pages/device-power-monitors/network-connectivity-monitors/custom-network-monitor-integrations.md) — Provides a custom network utility that checks connectivity and listens for changes to resume network-bound jobs instantly. ([source](https://github.com/yigit/android-priority-jobqueue/wiki/Job-Manager-Configuration))

### Web Development

- [Customizable Retry Constraints](https://awesome-repositories.com/f/web-development/http-client-wrappers/retry-and-backoff-logic/customizable-retry-constraints.md) — Ships a customizable retry mechanism where failure handlers return RetryConstraint objects to control retry behavior.
