Instead of using a queue and to try and be as serverless as possible we opted for using Cloud Tasks to schedule doing things in the future. For tasks which don't require much accuracy for time it works really well and I love it, but we're having an issue when we need them to be sent at a precise time.
We've got a growth function in JavaScript that looks like: Math.pow(Math.E, 0.00006 * milliseconds) and require a task to happen AT or slightly AFTER a particular time but Cloud Tasks keeps calling us early. It's fine if it's a little late as we already handle it but we're not prepared for being called early.
I know time synchronisation can be difficult but EVERYTHING is running in a Google Cloud managed service:
Database: Google Cloud SQL (PSQL)
App: Google Kubernetes Engine
Tasks: Google Cloud Tasks
I would expect that each of the things in our stack are in sync to the millisecond, but it seems not. Is there any article or documentation about how early/late a task is expected to run at?