【问题标题】:app engine development task not running应用引擎开发任务未运行
【发布时间】:2011-07-19 09:47:23
【问题描述】:
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 google-app-engine task


    【解决方案1】:

    我记得在开发环境中,您必须从应用程序控制台手动运行任务。它们不会自动运行。

    【讨论】:

    • 是这样吗?你能告诉我它写在哪里(只是为了确定)好吗?如果是这样,我如何从应用程序控制台运行?我把命令放在哪里?或者仅仅是从代码中调用一个函数的问题?谢谢!
    • 看来我错了:code.google.com/appengine/docs/java/taskqueue/… 也许它在早期版本的 AppEngine 中是这样工作的。无论如何,尝试在这里手动启动它:localhost:8080/_ah/admin/taskqueue
    • 有没有办法让任务自动运行?
    猜你喜欢
    • 2016-04-04
    • 2011-03-08
    • 2018-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 2011-10-22
    相关资源
    最近更新 更多