Avoid too many reschedules
This commit is contained in:
+8
-1
@@ -8,11 +8,18 @@ version := "4.1.5"
|
||||
versionCode := Some(185)
|
||||
|
||||
proguardOptions ++=
|
||||
"-keep class com.github.shadowsocks.JniHelper { *; }" ::
|
||||
"-dontwarn com.evernote.android.job.gcm.**" ::
|
||||
"-dontwarn com.evernote.android.job.util.GcmAvailableHelper" ::
|
||||
"-dontwarn com.google.android.gms.internal.**" ::
|
||||
"-dontwarn com.j256.ormlite.**" ::
|
||||
"-dontwarn okio.**" ::
|
||||
"-dontwarn org.xbill.**" ::
|
||||
"-keep public class com.evernote.android.job.v21.PlatformJobService" ::
|
||||
"-keep public class com.evernote.android.job.v14.PlatformAlarmService" ::
|
||||
"-keep public class com.evernote.android.job.v14.PlatformAlarmReceiver" ::
|
||||
"-keep public class com.evernote.android.job.JobBootReceiver" ::
|
||||
"-keep public class com.evernote.android.job.JobRescheduleService" ::
|
||||
"-keep class com.github.shadowsocks.JniHelper { *; }" ::
|
||||
Nil
|
||||
|
||||
val playServicesVersion = "10.2.1"
|
||||
|
||||
@@ -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