ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


כלי לתזמון של הרצת פקודות TradeFederation.

סיכום

כיתות במבנה היררכי

interface ICommandScheduler.IScheduledInvocationListener

‫Listener לאירועי הפעלה כשההפעלה מסתיימת. 

‫methods ציבוריים

abstract Pair<Boolean, Integer> addCommand(String[] args)

הוספת פקודה למתזמן.

abstract void addCommandFile(String cmdFile, extraArgs)

מוסיף את כל הפקודות מקובץ נתון למתזמן

abstract void await()

הפונקציה ממתינה שהמתזמן יתחיל לפעול, כולל המתנה להשלמת ההעברה מ-TF ישן, אם רלוונטי.

abstract void displayCommandQueue(PrintWriter printWriter)

הצגת פרטי ניפוי באגים מפורטים לגבי מצב תור הביצוע של הפקודות.

abstract void displayCommandsInfo(PrintWriter printWriter, String regex)

הצגת רשימה של הפקודות הנוכחיות.

abstract void displayInvocationsInfo(PrintWriter printWriter)

מוצגת רשימה של הפעלות נוכחיות.

abstract void dumpCommandsXml(PrintWriter printWriter, String regex)

הפקת קובץ ה-XML המורחב של הפקודה עם כל הערכים של Option שצוינו לכל הפקודות הנוכחיות.

abstract long execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)

מקצה מכשיר באופן ישיר ומבצע פקודה בלי להוסיף אותה לתור הפקודות באמצעות IInvocationContext שכבר קיים.

abstract long execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)

הפקודה מקצה מכשיר באופן ישיר ומבצעת פקודה בלי להוסיף אותה לתור הפקודות.

abstract long execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)

ביצוע ישיר של פקודה במכשיר שכבר הוקצה.

abstract long execCommand(ICommandScheduler.IScheduledInvocationListener listener, devices, String[] args)

הפעלה ישירה של פקודה במכשירים שכבר הוקצו.

abstract CommandFileWatcher getCommandFileWatcher()

קבלת CommandFileWatcher מתאים לתזמן הזה

abstract int getExecutingCommandCount()

הפונקציה מחזירה את מספר הפקודות במצב הפעלה.

abstract String getInvocationInfo(int invocationId)

אפשר להחזיר את המידע על הפעלה על ידי ציון מזהה ההפעלה.

abstract CommandRunner.ExitCode getLastInvocationExitCode()

החזרת קוד השגיאה של ההפעלה האחרונה שהופעלה.

abstract Throwable getLastInvocationThrowable()

החזרת הערך Throwable מההפעלה האחרונה שהופעלה.

abstract int getReadyCommandCount()

הפונקציה מחזירה את מספר הפקודות במצב מוכן בתור.

abstract boolean isDeviceInInvocationThread(ITestDevice device)

הפונקציה מחזירה את הערך True אם המכשיר נמצא בשימוש על ידי שרשור הפעלה פעיל.

abstract void join()

הפונקציה ממתינה לסיום התזמון.

abstract void join(long millis)

הפונקציה ממתינה לסיום התזמון או לפסק זמן אחרי משך הזמן שצוין באלפיות השנייה.

abstract void removeAllCommands()

הסרת כל הפקודות מהמתזמן

abstract void setClearcutClient(ClearcutClient client)

הגדרת הלקוח לדיווח על נתוני harness

default void setMaxPollTime(long polling)
default void setPrintSchedulingWarning(boolean print)
abstract boolean shouldShutdownOnCmdfileError()

הפונקציה מחזירה את הערך True אם צריך להשבית את מתזמן המשימות בגלל שגיאות בפקודה

default void shutdown()

מנסים לבצע כיבוי תקין של מתזמן הפקודות.

abstract void shutdown(boolean notifyStop)

מנסים לבצע כיבוי תקין של מתזמן הפקודות.

abstract void shutdownHard(boolean killAdb)

לנסות לכבות בכוח את מתזמן הפקודות.

abstract void shutdownHard()

לנסות לכבות בכוח את מתזמן הפקודות.

abstract void shutdownOnEmpty()

בדומה ל-shutdown(), אבל הפקודה הזו תמתין עד שכל הפקודות יבוצעו לפני היציאה.

abstract void start()

מתחילים את ICommandScheduler.

abstract boolean stopInvocation(int invocationId, String cause)

כדי להפסיק הפעלה של פונקציה, מציינים את המזהה שלה.

default boolean stopInvocation(int invocationId)

כדי להפסיק הפעלה של פונקציה, מציינים את המזהה שלה.

abstract boolean stopInvocation(ITestInvocation invocation)

הפסקת הפעלה של פונקציה.

default void stopScheduling()

הוא מפסיק לתזמן ולבצע בדיקות חדשות, אבל לא מפסיק את Tradefed.

‫methods ציבוריים

addCommand

public abstract Pair<Boolean, Integer> addCommand (String[] args)

הוספת פקודה למתזמן.

פקודה היא בעצם מופע של הגדרה להרצה והארגומנטים שמשויכים לה.

אם מציינים את הארגומנט ‎ "--help"‎, טקסט העזרה של ההגדרה יופיע בפלט stdout. אחרת, ההגדרה תתווסף לתור להרצה.

פרמטרים
args String: ארגומנטים של ההגדרה.

החזרות
Pair<Boolean, Integer> צמד ערכים, הערך הראשון הוא בוליאני true אם הפקודה נוספה בהצלחה. הערך השני הוא מזהה מעקב הפקודות הידוע(ערך לא שלילי) אם הפקודה נוספה בהצלחה. הערך שמוחזר הוא 0 אם הפקודה נוספה לכל המכשירים, אחרת הערך הוא ‎-1.

זריקות
ConfigurationException אם לא ניתן לנתח את הפקודה

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

כל הפקודות מהקובץ שצוין יתווספו למתזמן

פרמטרים
cmdFile String: הנתיב במערכת הקבצים של קובץ הפקודה

extraArgs : ERROR(/List) של String ארגומנטים שיוגדרו להוספה לכל פקודה שנותחה מהקובץ. אפשר להשאיר את השדה ריק, אבל הוא לא יכול להיות null.

זריקות
ConfigurationException אם לא ניתן לנתח את קובץ הפקודות

מידע נוסף:

await

public abstract void await ()

הפונקציה ממתינה שהמתזמן יתחיל לפעול, כולל המתנה להשלמת ההעברה מ-TF ישן, אם רלוונטי.

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

הצגת פרטי ניפוי באגים מפורטים לגבי מצב תור הביצוע של הפקודות.

displayCommandsInfo

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

הצגת רשימה של הפקודות הנוכחיות.

פרמטרים
printWriter PrintWriter: ERROR(/PrintWriter) שאליו רוצים להוציא את הפלט.

regex String: הביטוי הרגולרי שאליו הפקודות צריכות להתאים כדי להדפיס אותן. אם הערך הוא null, כל הפקודות יודפסו.

displayInvocationsInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

מוצגת רשימה של הפעלות נוכחיות.

פרמטרים
printWriter PrintWriter: ERROR(/PrintWriter) שאליו רוצים להוציא את הפלט.

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

הפקת קובץ ה-XML המורחב של הפקודה עם כל הערכים של Option שצוינו לכל הפקודות הנוכחיות.

פרמטרים
printWriter PrintWriter: ERROR(/PrintWriter) שאליו יוצא הסטטוס.

regex String: הביטוי הרגולרי שאליו הפקודות צריכות להתאים כדי שקובץ ה-XML יימחק. אם הערך הוא null, כל הפקודות יוצגו.

execCommand

public abstract long execCommand (IInvocationContext context, 
                ICommandScheduler.IScheduledInvocationListener listener, 
                String[] args)

מקצה מכשיר באופן ישיר ומבצע פקודה בלי להוסיף אותה לתור הפקודות באמצעות IInvocationContext שכבר קיים.

פרמטרים
context IInvocationContext: IInvocationContext קיים.

listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener שצריך לעדכן

args String: הארגומנטים של הפקודה

החזרות
long

זריקות
ConfigurationException אם הפקודה לא הייתה תקינה
NoDeviceException אם אין מכשיר שאפשר להשתמש בו

execCommand

public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                String[] args)

הפקודה מקצה מכשיר באופן ישיר ומבצעת פקודה בלי להוסיף אותה לתור הפקודות.

פרמטרים
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener שצריך לעדכן

args String: הארגומנטים של הפקודה

החזרות
long מזהה ההפעלה של הפקודה המתוזמנת.

זריקות
ConfigurationException אם הפקודה לא הייתה תקינה
NoDeviceException אם אין מכשיר שאפשר להשתמש בו

execCommand

public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                ITestDevice device, 
                String[] args)

ביצוע ישיר של פקודה במכשיר שכבר הוקצה.

פרמטרים
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener שצריך לעדכן

device ITestDevice: ITestDevice שבו רוצים להשתמש

args String: הארגומנטים של הפקודה

החזרות
long מזהה ההפעלה של הפקודה המתוזמנת.

זריקות
ConfigurationException אם הפקודה לא הייתה תקינה

execCommand

public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                 devices, 
                String[] args)

הפעלה ישירה של פקודה במכשירים שכבר הוקצו.

פרמטרים
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener שצריך לעדכן

devices : ERROR(/List) שבו רוצים להשתמש

args String: הארגומנטים של הפקודה

החזרות
long מזהה ההפעלה של הפקודה המתוזמנת.

זריקות
ConfigurationException אם הפקודה לא הייתה תקינה

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

קבלת CommandFileWatcher מתאים לתזמן הזה

החזרות
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

הפונקציה מחזירה את מספר הפקודות במצב הפעלה.

החזרות
int

getInvocationInfo

public abstract String getInvocationInfo (int invocationId)

כדי לקבל את המידע על הפעלה, מציינים את מזהה ההפעלה.

פרמטרים
invocationId int: מזהה המעקב של הקריאה.

החזרות
String רכיב String שמכיל מידע על הקריאה.

getLastInvocationExitCode

public abstract CommandRunner.ExitCode getLastInvocationExitCode ()

החזרת קוד השגיאה של ההפעלה האחרונה שהופעלה. הפונקציה מחזירה 0 (ללא שגיאה) אם עדיין לא הופעלה קריאה.

החזרות
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

החזרת הערך Throwable מההפעלה האחרונה שהופעלה. הפונקציה מחזירה ערך null אם אין חריג זמין.

החזרות
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

הפונקציה מחזירה את מספר הפקודות במצב מוכן בתור.

החזרות
int

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

הפונקציה מחזירה את הערך True אם המכשיר נמצא בשימוש על ידי שרשור הפעלה פעיל.

פרמטרים
device ITestDevice

החזרות
boolean

הצטרף

public abstract void join ()

הפונקציה ממתינה לסיום הפעולה של מתזמן המשימות.

מידע נוסף:

הצטרף

public abstract void join (long millis)

הפונקציה ממתינה לסיום התזמון או לפסק זמן אחרי משך הזמן שצוין באלפיות השנייה.

פרמטרים
millis long

מידע נוסף:

removeAllCommands

public abstract void removeAllCommands ()

הסרת כל הפקודות מהמתזמן

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

הגדרת הלקוח לדיווח על נתוני harness

פרמטרים
client ClearcutClient

setMaxPollTime

public void setMaxPollTime (long polling)

פרמטרים
polling long

setPrintSchedulingWarning

public void setPrintSchedulingWarning (boolean print)

פרמטרים
print boolean

shouldShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

הפונקציה מחזירה את הערך True אם צריך להשבית את מתזמן המשימות בעקבות שגיאות בפקודה

החזרות
boolean

כיבוי

public void shutdown ()

לנסות לבצע כיבוי תקין של מתזמן הפקודות.

מנקה את הפקודות שממתינות לבדיקה ומבקש שכל ההפעלות בתהליך ייסגרו בצורה מסודרת.

אחרי שמפעילים את הפונקציה shutdown, הלולאה הראשית של מתזמן המשימות תמתין עד שכל הקריאות שנמצאות בתהליך יושלמו לפני שהיא תצא לחלוטין.

כיבוי

public abstract void shutdown (boolean notifyStop)

מנסים לבצע כיבוי תקין של מתזמן הפקודות.

פרמטרים
notifyStop boolean: אם הערך הוא true, נשלחת הודעה על הפעלות של כיבוי TF.

shutdownHard

public abstract void shutdownHard (boolean killAdb)

לנסות לכבות בכוח את מתזמן הפקודות.

דומה ל-shutdown(), אבל גם ינסה להפסיק את החיבור ל-adb, כדי לזרז את השלמת ההפעלות שנמצאות בתהליך.

פרמטרים
killAdb boolean

shutdownHard

public abstract void shutdownHard ()

לנסות לכבות בכוח את מתזמן הפקודות. זהה ל-shutdownHard(true).

shutdownOnEmpty

public abstract void shutdownOnEmpty ()

בדומה ל-shutdown(), אבל הפקודה הזו תמתין עד שכל הפקודות יבוצעו לפני היציאה.

שימו לב: אם יש פקודות במצב לולאה, מתזמן המשימות לא ייצא לעולם.

התחל

public abstract void start ()

מתחילים את ICommandScheduler.

חובה לבצע קריאה לשיטה הזו לפני קריאה לשיטות אחרות.

הפעולה תתבצע עד שיתבצע קריאה ל-shutdown(). ראו Thread.start().

stopInvocation

public abstract boolean stopInvocation (int invocationId, 
                String cause)

כדי להפסיק הפעלה של פונקציה, מציינים את המזהה שלה.

פרמטרים
invocationId int: מזהה המעקב של הקריאה.

cause String: הסיבה להפסקת הקריאה.

החזרות
boolean הערך true אם ההפעלה הופסקה, אחרת הערך הוא false

זריקות
UnsupportedOperationException אם ההטמעה לא תומכת בזה

stopInvocation

public boolean stopInvocation (int invocationId)

כדי להפסיק הפעלה של פונקציה, מציינים את המזהה שלה.

פרמטרים
invocationId int

החזרות
boolean הערך true אם ההפעלה הופסקה, אחרת הערך הוא false

זריקות
UnsupportedOperationException אם ההטמעה לא תומכת בזה

stopInvocation

public abstract boolean stopInvocation (ITestInvocation invocation)

הפסקת הפעלה של פונקציה.

פרמטרים
invocation ITestInvocation

החזרות
boolean הערך true אם ההפעלה הופסקה, אחרת הערך הוא false

זריקות
UnsupportedOperationException אם ההטמעה לא תומכת בזה

stopScheduling

public void stopScheduling ()

הוא מפסיק לתזמן ולבצע בדיקות חדשות, אבל לא מפסיק את Tradefed. המטרה היא לאפשר כיבוי בשני שלבים, שבו קודם מרוקנים את כל הבדיקות הפעילות ואז מסיימים את התהליך של Tradefed.