public class BackupMaker
{
public BackupMaker(String task_handler_url, String task_queue_name,
String task_name)
{
final Queue q = (task_queue_name == null) ? QueueFactory
.getDefaultQueue() : QueueFactory.getQueue(task_queue_name);
final TaskOptions task = TaskOptions.Builder.withUrl(task_handler_url)
.taskName(task_name);
q.add(task);
}
}
............
public class BackupMakerTaskEntry extends HttpServlet
{
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Task is running !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
res.getWriter().print("hello!");
}
}
............
private void create_backup_task()
{
final String task_handler_url = "/data_backup/task_entry";
final String task_queue_name = null; // Use 'Default' queue.
final String task_name = "Test";
new BackupMaker(task_handler_url, task_queue_name, task_name);
}
上面的代码将创建一个谷歌任务应用程序。
问题是,该任务从未在 GAE 的开发服务器上执行。
添加任务后,重新添加它会出现异常“TaskAlreadyExistsException”,这意味着任务正在添加,但根本不会触发。
我使用的是 Win7 64 位 Eclipse Indigo (4.7) JDK 6u26 和最新的 Eclipse GAE+GWT 插件/lib。
有什么想法吗?只有我遇到这种情况吗?
最佳答案
我记得在开发环境中,您必须从应用程序控制台手动运行任务。它们不会自动运行。
关于java - 应用程序引擎开发任务未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6745245/