Как вывести фоновое задание на передний план в Google App Engine? - PullRequest
2 голосов
/ 07 декабря 2010

В настоящее время у меня есть задачи, работающие в фоновом режиме. После выполнения задач мне нужно показать вывод. Как мне это сделать в Google App Engine?

Как только задачи выполнены, единственное, что я могу сделать, - это создать другую задачу, которая должна показывать вывод, или есть какой-то другой способ?

Ответы [ 2 ]

5 голосов
/ 07 декабря 2010

Вы не можете «вывести задачу на передний план» - это веб-сервер. Сервер отвечает на запросы от клиента.

Но у вас есть пара вариантов для достижения чего-то похожего:

  1. Используйте Channel API , чтобы отправить клиенту уведомление о завершении работы или даже результаты обработки.
  2. Запись информации о состоянии в memcache или хранилище данных и опрос клиента, чтобы определить, когда работа завершена.
0 голосов
/ 07 декабря 2010

Это не будет работать напрямую, как вы описываете.

Как только фоновая задача запущена, это фоновая задача для всего ее существования.Если вы хотите вернуть некоторую информацию из фоновой задачи пользователю, вам придется добавить ее в хранилище данных, и обработчик переднего плана проверит хранилище данных на наличие этой информации.

Вы также можетеиспользуйте Channel API, чтобы фоновая задача отправляла сообщения прямо в браузер, но я не уверен, сработает ли это или нет (я не пробовал).

Если вы дадите немного больше информациио том, что именно ты пытаешься сделать, я могу рассказать подробнее о том, как это сделать.

...