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的dev服务器上执行。
添加任务后,重新添加它会产生一个异常'TaskAlreadyExistsException',这意味着该任务正在添加中,但不会触发。
我使用的是Eclipse64位Eclipse Indigo (4.7) JDK6u26和最新的Win7插件/库。
有什么想法吗?这只会发生在我身上吗?
发布于 2011-07-19 17:56:14
据我所知,在开发环境中,您必须从应用程序控制台手动运行任务。它们不会自动运行。
https://stackoverflow.com/questions/6745245
复制相似问题