我想让GAE任务队列中的任务开始。我从Task Queue Java on GAE开始逐步执行配置,但是当我点击(例如)我的网站上的链接(调用启动任务的Servlet)时,它只将任务放入队列中(如我可以在我的AppEngine控制台上看到“任务队列链接”,它永远不会启动。仅当我单击右侧按钮“立即运行”(在“操作”列下方)时,它才会成功启动。
那么,有没有人知道如何让它自动启动(无需转到AppEngine控制台并每次点击'立即运行')?
非常感谢
[编辑]添加代码:
[HTML网页]:
<a href="/tasks/callTaskServlet">Call Task Servlet</a>
[CallTaskServlet.java]:
public class CallTaskServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Queue queue = QueueFactory.getDefaultQueue();
queue.add(TaskOptions.Builder.withUrl("/tasks/taskServlet").param("act", "refresh").retryOptions(RetryOptions.Builder.withTaskRetryLimit(1)));
}
}
[TaskServlet.java]:
public class TaskServlet extends HttpServlet{
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String action = req.getParameter("act");
LOGGER.warning(action);
//Doing my stuff here…
}
}
[web.xml中]:
<servlet>
<servlet-name>Task</servlet-name>
<servlet-class>servlet.TaskServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Task</servlet-name>
<url-pattern>/tasks/taskServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>CallTask</servlet-name>
<servlet-class>servlet.CallTaskServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CallTask</servlet-name>
<url-pattern>/tasks/callTaskServlet</url-pattern>
</servlet-mapping>
[任务队列AppEngine]: Task Queues AppEngine
[Log GAE(/ tasks / taskServlet not run)] Log GAE
我错过了什么吗?我希望这已经足够了。
答案 0 :(得分:1)
您的队列已暂停。点击&#34;恢复队列&#34;它将按预期工作。
请注意,队列永远不会自行恢复。