В настоящее время я работаю на Heroku, которая обрабатывает долго выполняющиеся процессы таким образом, что требуется явное изменение кода для помещения вещей в очередь заданий. Я не хочу делать явные изменения кода, такие как очередь заданий, поэтому я хочу переместить этот конкретный блок.
У меня работает Gmail.users.watch
средство отслеживания электронной почты, и я хотел бы переместить это связано с GCP, потому что Heroku, похоже, сталкивается с R15 - Vastly exceeded memory quota
ошибками в моем коде. Я полагаю, это потому, что для каждого запроса, который Heroku обрабатывает, он порождает новый экземпляр долгосрочного Gmail.users.watch
процесса.
const beginWatcher = () => {
gmail.users.watch(
{
auth: authClient,
userId: "me",
requestBody: {
topicName: topicURL,
labelIds: ["INBOX"]
}
},
(error) => {
if (error) {
console.log(error)
return
}
}
)
}
beginWatcher()
У меня нет большого опыта GCP с нуля, я ' хотелось бы знать;
- Где длительный процесс, подобный описанному выше, подходит для GCP?
- Похоже, что Google App Engine в основном Heroku, но я Я считаю, что один экземпляр сервера - это то, что мне нужно для чего-то, что будет работать вечно, как приведенный выше код.
- Похоже, что Google Compute Engine представляет собой отдельную виртуальную машину, которая запускается, но также используется для больших вычислительных нагрузок, а не просто для просмотра электронной почты, поэтому это может быть излишним.
- Google Kubernetes Кажется, что движок обрабатывает хостинг с учетом Docker, но для чего-то подобного это кажется слишком сложным, поскольку мне приходится указывать практически все.
- Должен ли я использовать другое решение GCP, которое не входит в число трех перечисленных выше?
Мой инстинкт подсказывает мне Google Compute Engine, но я просто хочу, чтобы кто-нибудь подтвердил мне; где, черт возьми, вы положили процесс бесконечной продолжительности жизни, подобный этому, в GCP .