פלט וקודי יציאה
איך לקרוא את הפלט של ה-CLI של Nodaro כטבלה או כ-JSON, לחכות לסיום הרצה עם --watch ולפעול בסקריפט לפי קודי היציאה של כשל, ביטול והמתנה לבדיקה.
הפלט של ה-CLI של Nodaro קריא בטרמינל כברירת מחדל, וקריא למכונה עם --json. עם --watch, פקודת הרצה מחכה עד שההרצה מסתיימת ומדווחת על התוצאה בקוד היציאה שלה, כך שסקריפט shell או משימת CI יכולים לפעול לפיו.
טבלאות ו-JSON
בלי --json, פקודת list מדפיסה טבלת ASCII קטנה, ופקודת get מדפיסה JSON מעוצב. כל פקודת קריאה מקבלת את הדגל --json, ואז מדפיסה את המטען המלא, מוכן ל-jq:
nodaro projects list --json | jq '.[].id'
nodaro workflows run wf_abc --jsonהמתנה לסיום ההרצה עם --watch
פקודת הרצה מסתיימת ברגע ש-Nodaro מקבל את ההרצה. הוסיפו --watch כדי להמשיך לבדוק את הסטטוס עד שההרצה מסתיימת:
nodaro workflows run wf_abc --watch
nodaro nodes run generate-image --param prompt="a snow leopard" --watch --poll-interval 1000הדגל --watch עובד בפקודות ההרצה, כגון workflows run, apps run ו-nodes run, בפקודה executions get ובפקודות היצירה של קבוצות הפקודות נכסים ומדיה. הדגל --poll-interval קובע את הזמן בין שתי בדיקות סטטוס, באלפיות שנייה.
קודי יציאה
| קוד | משמעות |
|---|---|
0 | הצלחה. |
1 | שגיאת הרשאה, משאב שלא נמצא, ארגומנט שגוי או שגיאת רשת. |
2 | ההמתנה עם --watch הסתיימה, וההרצה נכשלה. |
3 | ההמתנה עם --watch נעצרה כי המשימה ממתינה לבדיקה (pending_review). אדם מחליט עכשיו; זה לא כשל. |
130 | ההמתנה עם --watch הסתיימה, וההרצה בוטלה. |
עם --json, ה-CLI מדפיס את המטען ומסיים בלי לקבוע את הקודים 2, 3 ו-130. במצב הזה, פעלו לפי השדה status בפלט:
status=$(nodaro workflows run wf_abc --watch --json | jq -r '.status')כשהאסימון חסר, פג תוקפו או לא תקין, ה-CLI מודיע על כך, מציע להריץ nodaro auth login ויוצא עם הקוד 1. בשגיאות API אחרות, ה-CLI מדפיס את ההודעה ואת קוד השגיאה. הקודים מפורטים בדף ה-API שגיאות.
כשמשימה ממתינה לבדיקה
יש פריסות שבודקות יצירות לפני שהן משחררות אותן. בפריסה כזו, משימה יכולה להיכנס לסטטוס pending_review. העבודה הסתיימה, הקרדיטים נשארים משוריינים, ואדם מחליט אם לשחרר את התוצאה.
הסטטוס לא משתנה מעצמו, ולכן הדגל --watch מפסיק לבדוק אותו, מדפיס awaiting review (a human decision is pending; not a failure) (ממתינה לבדיקה: אדם צריך להחליט, וזה לא כשל) ויוצא עם הקוד 3.
- אל תריצו את הבקשה שוב. גם בקשה כפולה תמתין לבדיקה.
- בדקו את המשימה מאוחר יותר עם
nodaro jobs get <id>. המשימה מסתיימת באחד משלושה סטטוסים:
| סטטוס | משמעות |
|---|---|
completed | התוצאה אושרה ושוחררה. |
failed | התוצאה נדחתה. השדה error_hint.kind הוא policy-block, והשדה error_hint.reason הוא הטקסט שאפשר להציג למשתמש שלכם. |
cancelled | המשימה בוטלה. |
nodaro nodes run generate-image --param prompt="..." --watch
case $? in
0) echo "released" ;;
3) echo "awaiting review, check back later" ;;
*) echo "failed" ;;
esacשאלות נפוצות
איך מקבלים מה-CLI של Nodaro פלט קריא למכונה?
הוסיפו את הדגל --json לפקודת קריאה. בלעדיו, פקודות list מדפיסות טבלה קטנה, ופקודות get מדפיסות JSON מעוצב.
מה המשמעות של קוד היציאה 3 ב-CLI של Nodaro?
קוד היציאה 3 אומר שהמשימה ממתינה לבדיקה. העבודה הסתיימה, והקרדיטים נשארים משוריינים בזמן שאדם מחליט אם לשחרר את התוצאה. זה לא כשל, ולכן אל תריצו את הבקשה שוב. בדקו את המשימה מאוחר יותר עם הפקודה nodaro jobs get.
למה הסקריפט שלי לא מקבל את קוד היציאה 2 כשהרצה נכשלת?
עם הדגל --json, ה-CLI מדפיס את התוצאה ומסיים בלי לקבוע את קודי היציאה 2, 3 או 130. במקום זאת, בדקו את השדה status בפלט ה-JSON.
איך גורמים למשימת CI לחכות להרצה של Nodaro?
הוסיפו את הדגל --watch לפקודת ההרצה. ה-CLI בודק את הסטטוס מדי כמה שניות עד שההרצה מסתיימת, ויוצא עם הקוד 0 כשהיא מצליחה, 2 כשהיא נכשלת ו-130 כשהיא מבוטלת, כך שהשלב הבא יכול להיות תלוי בתוצאה.
דפים קשורים
פקודות
דוגמאות
פרמטרים וקובצי קלט
שגיאות
עודכן לאחרונה