Я сомневаюсь: должен ли он возвращать HTTP 204 только после завершения задачи,
в противном случае задача будет внезапно завершена?
У вас нет выбора. Если вы вернетесь до того, как ваша задача / задача завершится, процессор будет работать на нуле, и в вашем экземпляре Cloud Run ничего не произойдет.
В вашем примере вы просто обрабатываете сообщение pub / sub и извлекаете имя. Если вы вернетесь до того, как это будет сделано, имя не будет обработано.
Cloud Run предназначен для системы HTTP-запросов / ответов. Это означает, что обработка начинается, когда вы получаете HTTP-запрос (GET, POST, PUT и т. Д.) И заканчивается, когда ваш код возвращает HTTP-ответ (или просто возвращается без ответа). Вы можете попытаться создать фоновые потоки, но нет гарантии, что они будут выполняться, когда ваша основная функция вернется.