Я хочу запланировать вызов GET API каждые 10 минут без использования внешнего приложения.
Примечание. Невозможно использовать планировщик из-за моих требований.
Рассмотрим мой API https://xvyz.com/keep-alive
Есть ли какой-либо способ выполнить этот вызов API, не открывая приложение или не используя интерфейс!
Я не могу это попробовать, потому что использую бесплатную версию развертывания Render.





Вы можете использовать setInterval() в своих целях. Приведенный ниже скрипт будет вызывать API с интервалом в 10 минут.
setInterval(() => {
fetch('https://jsonplaceholder.typicode.com/todos/1')
.then(response => response.json())
.then(json => console.info(json))
}, 600000)
Это будет работать, если интерфейсное приложение открыто в браузере. Если он нигде не открыт, то у меня вопрос, как вызвать API без фронтенда и планировщика.
вы можете использовать serInverval в своем проекте.
Также вы можете создать/использовать CronJob для вызова API без запуска FE.
Лучшее решение — использовать планировщик, доступный на вашем языке программирования (у Java есть собственный планировщик), используя этот планировщик, вызывая метод API каждые 10 минут.
Вы также можете использовать задание cron, на сервере вы можете добавить задание cron и запускать вызов API каждые 10 минут.
*/10 * * * * curl -X POST -d '{"message":"content"}' https://xvyz.com/keep-alive
У вашего хостинг-провайдера должен быть механизм «поддержания активности», и вам не придется искать обходные пути для него. Например, в Azure: включение проверки работоспособности обеспечит работоспособность приложения, поскольку оно будет постоянно проверять конечную точку проверки работоспособности в определенное время. Однако лучший способ сохранить работоспособность приложения — использовать параметр AlwaysOn в настройках Службы приложений Azure.