Avoid too many reschedules
This commit is contained in:
@@ -271,7 +271,6 @@ trait BaseService extends Service {
|
||||
|
||||
override def onCreate() {
|
||||
super.onCreate()
|
||||
app.remoteConfig.fetch()
|
||||
app.updateAssets()
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ import scala.io.Source
|
||||
*/
|
||||
object AclSyncJob {
|
||||
final val TAG = "AclSyncJob"
|
||||
final val MAX_RESCHEDULE = 3
|
||||
|
||||
def schedule(route: String): Int = new JobRequest.Builder(AclSyncJob.TAG + ':' + route)
|
||||
.setExecutionWindow(TimeUnit.SECONDS.toMillis(10), TimeUnit.DAYS.toMillis(28))
|
||||
@@ -45,6 +46,8 @@ object AclSyncJob {
|
||||
}
|
||||
|
||||
class AclSyncJob(route: String) extends Job {
|
||||
var rescheduled = 0
|
||||
|
||||
override def onRunJob(params: Params): Result = {
|
||||
try {
|
||||
//noinspection JavaAccessorMethodCalledAsEmptyParen
|
||||
@@ -54,7 +57,11 @@ class AclSyncJob(route: String) extends Job {
|
||||
} catch {
|
||||
case e: IOException =>
|
||||
e.printStackTrace()
|
||||
Result.RESCHEDULE
|
||||
rescheduled += 1
|
||||
if (rescheduled < AclSyncJob.MAX_RESCHEDULE)
|
||||
Result.RESCHEDULE
|
||||
else
|
||||
Result.FAILURE
|
||||
case e: Exception => // unknown failures, probably shouldn't retry
|
||||
e.printStackTrace()
|
||||
Result.FAILURE
|
||||
|
||||
Reference in New Issue
Block a user