Хотя может быть возможно получить информацию о других запущенных экземплярах (например, через метод Admin API apps.services.versions.instances.list
), одной этой информации будет недостаточно для правильной реализации логики c вы ищете - если есть несколько запущенных экземпляров в то время, когда зависимые от экземпляра "процессы CRON" запускают logi c будет давать одинаковые результаты во всех экземплярах, вам все равно потребуется некоторая координация, чтобы определить, какой из запущенных экземпляров «главный», на который следует отправлять сообщения, скорее всего, на основе какого-либо внешнего ресурса. Это не тривиально, если принять во внимание возможность смерти / запуска экземпляров в любое время, в том числе во время выполнения процессов CRON.
Я бы предложил вместо этого использовать службу gron GAE (ищите название раздела содержит Scheduling
в левой боковой панели навигации на страницах документации для вашей конкретной среды выполнения) или, если вы предпочитаете, облачных задач , ни одна из которых не будет умножать работу в зависимости от количества запущенных экземпляров, таким образом полностью избегая проблемы.
Обратите внимание, что вам все равно нужно будет позаботиться о возможных повторных попытках в случае сбоя при обработке запросов cron, ваши задания cron должны быть идемпотентными.