Persistent job queue, derivative of android-priority-jobqueue.

re-running the job without first that all job requirements are still satisfied seems like it could lead to multiple quick ineffective retries and then failure in cases like network availability