Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 任务重试限制达到google应用程序引擎后运行函数_Java_Google App Engine_Gae Module_Maven Gae Plugin - Fatal编程技术网

Java 任务重试限制达到google应用程序引擎后运行函数

Java 任务重试限制达到google应用程序引擎后运行函数,java,google-app-engine,gae-module,maven-gae-plugin,Java,Google App Engine,Gae Module,Maven Gae Plugin,我有如下代码: Queue queue = QueueFactory.getDefaultQueue(); queue.add(TaskOptions.Builder.withRetryOptions( RetryOptions.Builder .withTaskRetryLimit(0))); 使用此代码,如果不是错误,任务将不会重试。但是,我要做的是在10分钟后(重试前的最长时间)运行另一个

我有如下代码:

Queue queue = QueueFactory.getDefaultQueue();
queue.add(TaskOptions.Builder.withRetryOptions(
                     RetryOptions.Builder
                             .withTaskRetryLimit(0)));

使用此代码,如果不是错误,任务将不会重试。但是,我要做的是在10分钟后(重试前的最长时间)运行另一个函数调用onRetryFailure()。知道我该怎么做吗?

不太清楚您希望在什么条件下运行此
onRetryFailure()
函数。你可以:

  • 如果希望因任何错误调用
    onRetryFailure()
    ,可以将当前任务代码包装在try catch中,然后作为另一个任务启动
    onRetryFailure()
  • 如果您希望仅在达到10分钟时间限制时调用
    onRetryFailure()
    ,则在任务开始时,可以添加
    onRetryFailure()
    作为另一项任务,并进行10分钟倒计时;在任务结束时,如果不再希望队列运行,可以从队列中删除
    onRetryFailure()

对于第二条评论,我不能这样做,因为只有当队列通过10分钟标记时,它才会运行。否则,它就不应该这样做。基本上,如果队列成功并且没有超过10分钟。我不想让它跑。但是像你说的那样做,不管成功与否,10分钟后都会运行。你想要类似错误处理的东西吗?10分钟后执行的函数?我不完全理解你的问题。@J.LValtueña基本上,这个想法就像是一次尝试。我想捕获何时达到任务重试限制以运行函数。