答案 0 :(得分:4)
如果您的意思是'从现在开始至少X分钟',是的 - 请使用task queue API。
答案 1 :(得分: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]
);
答案 2 :(得分:1)
Google更新了这部分api(see here)。您现在可以使用包含以下选项的PushTask发送第3个参数:
答案 3 :(得分:1)
根据@Peter Recore的评论,countdown
中的add()
字段是“此任务应执行的未来秒数。默认为零。”
文档: https://cloud.google.com/appengine/docs/python/refdocs/google.appengine.api.taskqueue
答案 4 :(得分:0)
使用TaskQueue API
success.jsp
现在在Index1类中定义作业
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("/");
}
}