يعتمد إعداد مهلة الوظائف بشكل مختلف للوظائف المختلفة داخل نفس التطبيق على النظام الأساسي الذي تستخدمه:
- AWS Lambda: في AWS Lambda ، يمكنك تكوين المهلة لكل وظيفة على حدة. يتم ذلك عن طريق الوصول إلى وحدة التحكم Lambda ، وتحديد الوظيفة المحددة ، وضبط إعداد المهلة ضمن علامة التبويب التكوين. يمكن تعيين المهلة ما بين 1 و 900 ثانية (15 دقيقة) لكل وظيفة بشكل مستقل [1].
- Azure وظائف: بالنسبة لوظائف Azure ، فإن خاصية `functionTimeOut` في ملف` stist.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-timout.html
[2] https://www.googlecloudcommunity.com/gc/appsheet-q-a/bot-executes-trigger-twice-due-timout/m-p/598297
[3]
[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-timout-duration.md
[8] https://learn.microsoft.com/en-us/azure/azure-functions/functions-scale