Very related to this question (How can I prevent my Google App Engine cron jobs from burning through all my instance hours?), yet unfortunatly I not only experience something similar, in my Cron-jobs in Appengine multiple instances are created, which causes quite a high number of Instance hours to be billed.
I tried different intervals to determine whether this has an effect on the instance hours, but cannot determine the difference currently. To illustrate, I got billed App Engine Frontend Instances: 263.462 hours for the following three cron-jobs (in just 10 days!):
cron:
- description: Push a weather "tick" onto pubsub every 5 minutes
url: /publish/weather-tick
schedule: every 5 minutes
- description: Push a crypto "tick" onto pubsub every 5 minutes
url: /publish/crypto-tick
schedule: every 5 minutes
- description: Push a astronomy "tick" onto pubsub every 6 hours starting at 00:00
url: /publish/astronomy-tick
schedule: every 6 hours synchronized
When I changed this to one cron-job for each minute:
cron:
- description: Push a "tick" onto pubsub every 1 minutes
url: /publish/minute-tick
schedule: every 1 minutes
I currently still get multiple instances, see:
Strangely enough, the instance went from 2 --> 3 upon changing to just one cron-job every minute.
I also have difficulties understanding why there are 3 instances 'created', whilst 0 are 'running', and billing estimates are 1.
Contact with Google could point me towards the high number of instances (which caused the high number of Instance hours), and my parameters set on 'automatic sclaing', which allows for this. However, changing it to manual limits the amount of free instance hours (from 28 to I believe 9).
My Situation
I am running cron-jobs to invoke Pub/Sub events. I have Google Cloud functions that listen to Pub/Sub events so that I can execute database updates based on these ticks. This is folllwing the tutorial provided on Google Firebase. I understand the billing of 15 minutes of an instance, even though it's lifespan is shorter, however I cannot understand how or why multiple are created if only such a small task is executed. I am especially intregued, as in the related question (How can I prevent my Google App Engine cron jobs from burning through all my instance hours?), that person is experiencing 24 hours, but expectedly just with one instance. Why am I getting 3? I feel I am missing some conceptual understanding of this process, and the tools to adjust accordingly. Any help or pointers would be very welcome!