Ρύθμιση χρονικών ορίων λειτουργιών διαφορετικά για διάφορες λειτουργίες εντός της ίδιας εφαρμογής εξαρτάται από την πλατφόρμα σύννεφων που χρησιμοποιείτε:
- AWS Lambda: Στο AWS Lambda, μπορείτε να διαμορφώσετε το χρονικό όριο για κάθε λειτουργία ξεχωριστά. Αυτό γίνεται με πρόσβαση στην κονσόλα Lambda, επιλέγοντας τη συγκεκριμένη λειτουργία και προσαρμογή της ρύθμισης χρονικού ορίου κάτω από την καρτέλα διαμόρφωσης. Το χρονικό όριο μπορεί να ρυθμιστεί μεταξύ 1 και 900 δευτερολέπτων (15 λεπτά) για κάθε λειτουργία ανεξάρτητα [1].
- Λειτουργίες Azure: Για τις λειτουργίες Azure, η ιδιότητα `functiontimeout 'στο αρχείο` host.json` ισχύει παγκοσμίως σε όλες τις λειτουργίες μέσα σε μια εφαρμογή. Ωστόσο, μπορείτε να ορίσετε διαφορετικά χρονικά όρια για διαφορετικές λειτουργίες χρησιμοποιώντας ξεχωριστές εφαρμογές λειτουργίας ή εφαρμόζοντας την προσαρμοσμένη λογική μέσα στις λειτουργίες σας για να χειριστείτε προγραμματικά χρονικά όρια. Το `functiontimeout` μπορεί να ρυθμιστεί έως και 10 λεπτά για φιλοξενία σχεδίου κατανάλωσης και είναι απεριόριστο για ασφάλιστρα και αφοσιωμένα σχέδια [3] [7].
-Λειτουργίες Google Cloud: Στο Google Cloud, μπορείτε να ορίσετε τη διάρκεια του χρονικού ορίου για κάθε λειτουργία μεμονωμένα κατά τη διάρκεια της ανάπτυξης χρησιμοποιώντας τη σημαία `-TimeOut` με την εντολή` gcloud λειτουργίες Deploy`. Αυτό σας επιτρέπει να διαμορφώσετε διαφορετικά χρονικά όρια για διαφορετικές λειτουργίες εντός του ίδιου έργου [5].
- Σενάριο εφαρμογών: Για το Google Apps Script, ο μέγιστος χρόνος εκτέλεσης καθορίζεται σε 6 λεπτά για την δωρεάν έκδοση και δεν υπάρχει επιλογή να ορίσετε διαφορετικά χρονικά όρια για διαφορετικά σενάρια. Ωστόσο, μπορείτε να χωρίσετε την επεξεργασία σε πολλαπλά σενάρια για να αποφύγετε τα χρονικά όρια [2].
Συνοπτικά, ενώ ορισμένες πλατφόρμες όπως οι λειτουργίες AWS Lambda και Google Cloud επιτρέπουν τη ρύθμιση διαφορετικών χρονικών ορίων για κάθε λειτουργία, άλλες όπως οι λειτουργίες Azure εφαρμόζουν μια παγκόσμια ρύθμιση χρονικού ορίου εκτός εάν υλοποιηθεί η προσαρμοσμένη λογική.
Αναφορές:
[1] https://docs.aws.amazon.com/lambda/latest/dg/configuration-timeout.html
[2] https://www.googlecloudcommunity.com/gc/appsheet-q-a/bot-executes-script-trigger-twice-due-timeout/m-p/598297
[3] https://build5nines.com/azure-functions-extend-execution-timeout-past-5-minutes/
[4] https://developer.mozilla.org/en-us/docs/web/api/window/settimeout
[5] https://cloud.google.com/functions/docs/configuring/timeout
[6] https://stackoverflow.com/questions/315078/how-do-you-handle-multiple-instances-of-settimeout
[7] https://github.com/microsoftdocs/azure-docs/blob/main/includes/functions-timeout-duration.md
[8] https://learn.microsoft.com/en-us/azure/azure-functions/functions-scale