Я бы хотел запустить долгосрочную задачу на экземпляре Backend.Эта внутренняя задача будет запущена внешним кодом (сервлетом) через HTTP-запрос.Все это описано в документации, и это работает для меня.
Что меня беспокоит, так это то, что внешние экземпляры имеют ограничение продолжительности запроса в 30 с (или сейчас это 60 с?).Во время этого запроса клиентская часть будет вызывать серверную часть, чтобы запустить долгосрочную задачу.Тем не менее, поскольку эта задача выполняется долго, и передний конец ожидает ее завершения и истечет время ожидания.
Вопрос состоит в том, как сделать HTTP-запрос от внешнего интерфейса, чтобы запустить долгосрочную задачу бэкэнда, чтобы внешний интерфейс не получил тайм-аут и бэкэнд продолжал работать?
ЧтоЯ уже пробовал это:
- Запустить отдельный поток в бэкэнде.Моя IDE (идея) жалуется на это, говоря, что Thread не разрешены в App Engine.Разрешены ли они в серверных экземплярах?
- В сервлете внутреннего интерфейса очистите ответ и закройте Writer () - ничего не происходит.Внешний интерфейс ничего не получает.
Я пробовал все это на сервере dev.Стоит ли пробовать на производстве?