应用引擎开发任务未运行

时间:2011-07-19 09:47:23

标签: java google-app-engine task

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);
}

上面的代码将创建一个google任务应用 问题是,在GAE的开发服务器上永远不会执行任务。

添加任务后,重新添加它会产生一个异常'TaskAlreadyExistsException',这意味着正在添加任务,但根本不会触发。

我使用的是Win7 64位Eclipse Indigo(4.7)JDK 6u26和Eclipse的最新GAE + GWT插件/ lib。

有什么想法吗?它只发生在我身上吗?

1 个答案:

答案 0 :(得分:3)

我记得在开发环境中你必须从app console手动运行任务。它们不会自动运行。