- 有没有办法保证任务在X分钟内(或X分钟后)执行? (费率意味着任务之间的时间间隔,但第一项任务的情况如何,第一项任务是否会在“费率”时间之后开始)
9
A
回答
4
1
谷歌已经更新了这部分的api(see here)。现在,您可以在第三个参数发送包含下列选项PushTask:
- “方法”:串一“POST”的,“GET”,“HEAD”,“PUT”,“删除”。默认值:'POST'。
- 'name':string任务的名称。默认为''表示服务将生成一个唯一的任务名称。
- 'delay_seconds':float执行任务之前等待的最短时间。默认值:零。
- 'header':string任务执行时发送的附加头文件。
2
在PHP
$task = new PushTask(
'/some/callback',
['param1' => $param1, 'param2' => $param2, 'param3' => $param3],
['name'=>'EmailTask', 'method'=>'POST', 'delay_seconds'=>30]
);
或者更简单(这是在默认情况下POST)
$task = new PushTask(
'/some/callback',
['param1' => $param1, 'param2' => $param2, 'param3' => $param3],
['delay_seconds'=>30]
);
+0
更多信息请访问:https://cloud.google.com/appengine/docs/standard/php/refdocs/classes/google.appengine.api.taskqueue.PushTask – lifeofguenter 2017-06-29 10:46:52
1
每@Peter Recore的评论,在add()
的countdown
字段是“时间,以秒为这个任务应该执行的将来,默认为零。“
文档: https://cloud.google.com/appengine/docs/python/refdocs/google.appengine.api.taskqueue
0
使用任务队列API
public class Enqueue extends HttpServlet {
private static final Logger log = Logger.getLogger(Enqueue.class.getName());
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String param1= request.getParameter("param1");
String param2= request.getParameter("param2");
String time = request.getParameter("time");
int timer = Integer.parseInt(time) * 1000;//sec to millisec
log.info("Executing in "+ timer+" seconds");
// Add the task to the default queue.
// Execute in 5 seconds
Queue queue = QueueFactory.getDefaultQueue();
queue.add(TaskOptions.Builder.withUrl("/index1").param("param1", param1)
.param("param2", param2)
.countdownMillis(time));
response.sendRedirect("/");
}
}
现在指数1级
public class Index1 extends HttpServlet {
private static final Logger log = Logger.getLogger(Index1.class.getName());
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
String param1= req.getParameter("param1");
String param2= req.getParameter("param2");
log.info("Worker processing " + param1);
/*Define job to be executed*/
}
}
相关问题
- 1. GAE任务队列如何使延迟?
- 2. GAE强制推送任务队列执行下一个任务
- 3. 针对一次性任务延迟执行的队列建议
- 4. 如何避免任务队列中的执行延迟
- 5. 执行一个任务所有x秒
- 6. GAE任务队列奇怪
- 7. 任务队列执行
- 8. 弹簧多任务延迟执行
- 9. Android ScheduledThreadPoolExecutor立即执行延迟任务
- 10. 任务的STACK_SIZE是否影响任务切换延迟
- 11. GAE任务和执行率
- 12. 谷歌App Engine添加延迟任务队列产生多个任务
- 13. GAE任务队列击中端点API
- 14. GAE队列任务不记录错误
- 15. GAE/P:为计数器使用延迟任务和事务
- 16. 用取消执行延迟执行任务
- 17. SQL代理任务 - 执行的队列
- 18. 使用Task.Factory.StartNew执行任务队列
- 19. 在执行器服务延迟后安排任务
- 20. Cron作业,任务队列或延期任务?
- 21. GAE任务队列保持管理控制台中“任务正在运行”部分运行的负面任务
- 22. 在任务并行库:如何推迟Task.TaskFactory.FromAsync任务执行?
- 23. 当通过ExecutorCompletionService执行任务时,任务是否并行化?
- 24. 队列在Laravel队列上运行X个下一个任务
- 25. Appengine任务队列存储任务计数> 0但没有任务正在输入任务队列
- 26. 任务队列 - PHP
- 27. 任务队列java
- 28. 有没有办法让周期性任务有更短的延迟?
- 29. Azure:如何执行启动任务延迟?
- 30. 在开发中立即执行延迟::作业任务
我更新的标题是代表了实际问题的定义工作被要求。 – 2010-04-02 16:45:08