Threads/backend в приложении Java
Я хочу запускать какой-то поток постоянно в движке приложения. То, что делает поток, проверяет хэш-карту и обновляет записи согласно некоторому бизнесу непрерывно.
Мой hashmap - это общедоступная переменная-член класса X. А X - это одноэлементный класс.
Теперь я знаю, что appengine не поддерживает Thread, и его мышление называется backend.
Теперь мой вопрос: если я буду непрерывно работать с бэкэндом в течение 24*7, я буду платить? В бэкэнде нет тяжелой обработки. Он просто обновляет хэш-карту на основе некоторых условий. Могу ли я применить какой-то трюк, чтобы не платить? Мое веб-приложение не для коммерческого использования и для развлечения.
2 ответа
Да, бэкэнды оплачиваются в час. Неважно, сколько они используются: https://developers.google.com/appengine/docs/billing
Вам нужно, чтобы этот расчет произошел немедленно? Вы можете запустить задание cron, скажем, 5 минут и выполнить задание.
Или вы можете поставить в очередь 10-минутное задание и повторно поставить в очередь, когда оно приближается к 10-минутному предельному времени. Для этого вы можете использовать параметры задачи, чтобы передать состояние процесса следующей задаче, а также использовать хранилище данных.