مفاهیم
اجراها
وضعیتهای اجرا، کارهایی که میتوانید روی یک اجرا انجام دهید و اینکه اجرا چگونه متوقف میشود.
اجرا یک بهینهسازی است. هر اجرا یک وضعیت، یک سقف هزینه و مجموعهای از نسخههای ذخیرهشده دارد. این صفحه وضعیتهای اجرا، کارهایی که میتوانید روی یک اجرا انجام دهید و دلایل توقف اجرا را توضیح میدهد.
وضعیتهای اجرا
هر اجرا یکی از این وضعیتها را دارد:
| وضعیت | معنی |
|---|---|
pending | اجرا در صف است. |
validating | Skynet پیش از شروع بهینهسازی، تنظیمات را بررسی میکند. |
running | بهینهساز نسخههای جدید را پیشنهاد میدهد و به آنها امتیاز میدهد. |
success | اجرا تمام شد. بهترین نسخه ذخیره شد. |
failed | یک خطا اجرا را متوقف کرد. |
cancelled | یک نفر اجرا را لغو کرد. |
paused | اجرا در یک نقطهٔ بازیابی (checkpoint) متوقف شد. میتوانید آن را از سر بگیرید. |
stopped | اجرا با رسیدن به بودجهاش متوقف شد. بهترین نسخهای را که پیدا کرد نگه میدارد. |
success، failed، cancelled، stopped و paused وضعیتهای پایانی هستند. بهینهساز روی اجرایی که در وضعیت پایانی است کار نمیکند. paused تنها وضعیت پایانی است که برای ازسرگیری وجود دارد.
کارها
صفحهٔ اجرا کارهایی را نشان میدهد که با وضعیت فعلی و نقش شما سازگار هستند. API هم همین کارها را دارد.
| کار | چه زمانی میتوانید از آن استفاده کنید | چه کاری انجام میدهد |
|---|---|---|
| توقف | اجرا در حال اجرا است و یک نقطهٔ بازیابی ذخیرهشده دارد. | اجرا را در نقطهٔ بازیابی متوقف میکند. وضعیت به paused تغییر میکند. |
| لغو | اجرا در وضعیت pending، validating یا running است. | اجرا را متوقف میکند. لغو را نمیتوانید برگردانید. |
| ازسرگیری | اجرا در وضعیت failed، cancelled، paused یا stopped (بهدلیل بودجه) است و یک نقطهٔ بازیابی ذخیرهشده دارد. | همان اجرا را از آخرین نقطهٔ بازیابی ادامه میدهد. شناسهٔ اجرا تغییر نمیکند. |
| کلون | هر زمان که بتوانید اجرا را ببینید. | ویزارد ارسال را با یک کپی از پیکربندی باز میکند. |
| حذف | اجرا در وضعیت پایانی است. فقط مالک. | اجرا و همهٔ دادههایش را برای همیشه حذف میکند. |
API برای اجرایی که در وضعیت failed یا cancelled است، دو کار دیگر هم دارد:
- تلاش دوباره یک اجرای جدید با همان پیکربندی شروع میکند. اجرای جدید یک شناسهٔ جدید میگیرد.
- شروع دوباره همان اجرا را از ابتدا دوباره شروع میکند. شناسهٔ اجرا تغییر نمیکند.
کلون از طریق API میتواند در یک درخواست 1 تا 5 کپی بسازد. هر کپی از محدودیتهای اجرای شما کم میکند. صفحهٔ محدودیتها را ببینید.
چه کسی میتواند یک کار را انجام دهد
نقش شما در اجرا تعیین میکند چه کارهایی را میبینید:
- مالک میتواند همهٔ کارها را انجام دهد، اشتراکگذاری را مدیریت کند و اجرا را حذف کند.
- ویرایشگر میتواند اجرا را متوقف، لغو، ازسرگیری و دوباره تلاش کند و سقف هزینهٔ آن را بالا ببرد.
- بیننده میتواند اجرا را باز کند و آن را کلون کند.
برای اطلاعات بیشتر دربارهٔ نقشها، صفحهٔ اشتراکگذاری و انتشار را بخوانید.
اجرا چگونه متوقف میشود
اجرا به یکی از چهار دلیل متوقف میشود.
تکمیل
بهینهساز کارش را تمام میکند. وضعیت به success تغییر میکند. Skynet بهترین نسخه را ذخیره میکند و آزمون نهایی را اجرا میکند. صفحهٔ خواندن نتایج را بخوانید.
بودجه
اجرا پیش از شروع هیچ برآورد هزینهای ندارد. سقف هزینهٔ آن، بودجهای است که میتواند مصرف کند. Skynet در طول اجرا هزینهٔ واقعی هر اجرای امتیازدهنده را اندازه میگیرد:
- Skynet منتظر 10 اجرای امتیازدهندهٔ تسویهشده میماند. پیش از آن، هزینهٔ یک فراخوانی پرنوسانتر از آن است که قابل استفاده باشد.
- Skynet از میانگین هزینه تا آن لحظه برای قیمتگذاری تکرار بعدی استفاده میکند. این قیمت را در 1.5 ضرب میکند، چون تکرارهای بعدی معمولاً هزینهٔ بیشتری دارند.
- وقتی بودجهٔ باقیمانده نتواند هزینهٔ تکرار بعدی را بپردازد، Skynet کار جدیدی نمیپذیرد. بهینهساز در فراخوانی پولی بعدیاش متوقف میشود.
سپس اجرا وضعیت stopped و دلیل توقف budget_reached را دارد. صفحهٔ اجرا اعلان سقف بودجه رسید را نشان میدهد. این اعلان میگوید Skynet کدام نسخه را ذخیره کرد:
- بهترین نسخهٔ ارزیابیشدهٔ شما.
- نسخهٔ شروع ارزیابیشدهٔ شما، اگر نسخهٔ بهتری پیدا نشد.
- هیچ نسخهای، اگر بودجه پیش از تمام شدن ارزیابی هر نامزدی تمام شد. ورودیها و لاگهای شما ذخیرهشده باقی میمانند.
برای ادامه، از افزایش سقف و ادامه در اعلان استفاده کنید. Skynet اجرا را از آخرین نقطهٔ بازیابی از سر میگیرد.
برخی اجراهای قدیمیتر با دلیل توقف budget_projected متوقف شدند. میتوانید آنها را به همین روش از سر بگیرید.
خطا
یک خطا اجرا را متوقف میکند. وضعیت به failed تغییر میکند. زبانهٔ لاگها نشان میدهد چه اتفاقی افتاد. اگر اجرا یک نقطهٔ بازیابی ذخیرهشده داشته باشد، میتوانید آن را از سر بگیرید. همچنین میتوانید آن را دوباره تلاش کنید.
اگر یک worker هنگام اجرای کار شما متوقف شود، Skynet کار را بازیابی میکند و دوباره تلاش میکند. پس از 3 تلاش، Skynet کار را ناموفق علامت میزند. ازسرگیری پس از خطا یا لغو هم یک تلاش حساب میشود. ازسرگیری پس از توقف دستی یا توقف بهدلیل بودجه حساب نمیشود.
لغو
شما اجرا را لغو میکنید. وضعیت به cancelled تغییر میکند. لغو را نمیتوانید برگردانید. بعداً میتوانید اجرا را از یک نقطهٔ بازیابی ذخیرهشده از سر بگیرید، یا آن را دوباره تلاش کنید.