#php #azure #azure-functions #serverless
#php #azure #azure-функции #без сервера
Вопрос:
С помощью функций Azure могу ли я вернуть принятый ответ http 202 вызывающему (если запрос действителен), прежде чем запускать более длинную функцию асинхронно, без необходимости использования долговременной функции в середине?
Для этого используется пользовательская функция-обработчик, описанная здесь .
Я хочу запустить задание PHP, которое может занять более 30 секунд (до 3-4 минут).
Ответ №1:
Помимо использования надежных функций, у вас может быть простая функция, которая принимает данные события и ставит сообщение в очередь для получения и обработки другой функцией.
Вы даже можете настроить сетку событий для отправки события в очередь напрямую.
ОБНОВЛЕНИЕ: другой вариант — упаковать PHP-скрипт в контейнер и запустить его с использованием экземпляров контейнера Azure. Вы даже можете использовать приложения Azure Logic и соединитель экземпляра контейнера Azure для запуска контейнера, и все это без написания какого-либо кода.
Комментарии:
1. Проблема заключается в том, что привязка ввода очереди служебной шины требует, чтобы функция непрерывно опрашивала очередь. Мы только что перешли на служебную шину, поскольку она очень дорогая, и в нашем варианте использования мало событий (могут проходить дни без события, поэтому более эффективно запускать один).
2. Обновил мой ответ альтернативным. Надеюсь, это поможет.