Command Scheduler
public class CommandScheduler
extends Object
implements ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.Command Scheduler |
מתזמן להפעלת פקודות TradeFederation בכל המכשירים הזמינים.
ינסה לתעדף פקודות להפעלה בהתבסס על ספירת ריצה כוללת של זמן הביצוע שלהן. למשל, פקודות ריצה נדירות או מהירות יקבלו עדיפות על פני פקודות ריצה ארוכות.
פועל לנצח ברקע עד כיבוי.
סיכום
בנאים ציבוריים | |
---|---|
CommandScheduler () יוצר |
שיטות ציבוריות | |
---|---|
Pair <Boolean, Integer> | addCommand (String[] args) מוסיף פקודה למתזמן. |
void | addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs) מוסיף את כל הפקודות מהקובץ הנתון למתזמן |
void | await () ממתין למתזמן שיתחיל לפעול, כולל המתנה למסירה מ-TF הישן כדי להשלים אם רלוונטי. |
static TradefedDelegator | checkDelegation (String[] args) צור מאציל על סמך שורת הפקודה כדי לראות אם אנחנו צריכים להאציל את הריצה. |
static | createReleaseMap ( IInvocationContext context, Throwable e) צור מפה של מצב המכשירים כדי שניתן יהיה לשחרר אותם כראוי. |
ISandbox | createSandbox () צור |
void | displayCommandQueue (PrintWriter printWriter) פלט מידע מפורט על ניפוי באגים על מצב תור ביצוע הפקודה. |
void | displayCommandsInfo (PrintWriter printWriter, String regex) פלט רשימה של פקודות נוכחיות. |
void | displayInvocationsInfo (PrintWriter printWriter) מציג רשימה של קריאות נוכחיות. |
void | dumpCommandsXml (PrintWriter printWriter, String regex) זרוק את קובץ ה-XML המורחב עבור הפקודה עם כל ערכי |
long | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) execCommand ( ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) בצע פקודה ישירה במכשירים שכבר הוקצו. |
long | execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args) מקצה ישירות התקן ומבצע פקודה מבלי להוסיף אותה לתור הפקודות באמצעות |
long | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, String[] args) מקצה ישירות התקן ומבצע פקודה מבלי להוסיף אותה לתור הפקודות. |
CommandFileWatcher | getCommandFileWatcher () קבל את |
int | getExecutingCommandCount () מחזירה את מספר הפקודות במצב ביצוע. |
CommandScheduler.HostState | getHostState () |
String | getInvocationInfo (int invocationId) החזר את המידע על הזמנה עם ציון מזהה ההזמנה. |
CommandRunner.ExitCode | getLastInvocationExitCode () החזר את קוד השגיאה של ההזמנה האחרונה שרצה. |
Throwable | getLastInvocationThrowable () החזר את |
int | getReadyCommandCount () מחזירה את מספר הפקודות במצב מוכן בתור. |
long | getShutdownTimeout () |
boolean | isDeviceInInvocationThread ( ITestDevice device) מחזירה true אם ההתקן נמצא בשימוש על ידי שרשור הפעלה פעיל. |
void | notifyFileChanged (File cmdFile, extraArgs) notifyFileChanged (File cmdFile, extraArgs) |
void | removeAllCommands () הסר את כל הפקודות מתזמן |
void | run () בלוק הביצוע העיקרי של השרשור הזה. |
void | setClearcutClient (ClearcutClient client) הגדר את הלקוח לדווח על נתוני רתמה |
boolean | shouldShutdownOnCmdfileError () החזר true אם אנחנו צריכים לכבות את המתזמן על שגיאות פקודה |
void | shutdown (boolean notifyStop) נסה לכבות בחן את מתזמן הפקודות. |
void | shutdownHard (boolean killAdb) נסה לכבות בכוח את מתזמן הפקודות. |
void | shutdownHard () נסה לכבות בכוח את מתזמן הפקודות. |
void | shutdownOnEmpty () דומה ל- |
void | start () מפעיל את המתזמן כולל הגדרת רישום, הפעלה של |
boolean | stopInvocation ( ITestInvocation invocation) עצור קריאת טלפון רצה. |
boolean | stopInvocation (int invocationId, String cause) עצור זימון רץ על ידי ציון המזהה שלו. |
בנאים ציבוריים
Command Scheduler
public CommandScheduler ()
יוצר CommandScheduler
.
הערה: יש לקרוא ל-start לפני השימוש.
שיטות ציבוריות
addCommand
public Pair<Boolean, Integer> addCommand (String[] args)
מוסיף פקודה למתזמן.
פקודה היא בעצם מופע של תצורה להפעלה והארגומנטים המשויכים לה.
אם ארגומנט "--help" מצוין, טקסט העזרה עבור התצורה ייצא ל-stdout. אחרת, התצורה תתווסף לתור להפעלה.
פרמטרים | |
---|---|
args | String : הארגומנטים של התצורה. |
החזרות | |
---|---|
Pair <Boolean, Integer> | זוג ערכים, הערך הראשון הוא true בוליאני אם הפקודה נוספה בהצלחה. הערך השני הוא מזהה הפקודה הידוע (ערך לא שלילי) אם הפקודה נוספה בהצלחה, החזר 0 כאשר הפקודה מתווספת עבור כל המכשירים, אחרת -1. |
זורק | |
---|---|
ConfigurationException |
addCommandFile
public void addCommandFile (String cmdFilePath,extraArgs)
מוסיף את כל הפקודות מהקובץ הנתון למתזמן
פרמטרים | |
---|---|
cmdFilePath | String : נתיב מערכת הקבצים של קובץ הפקודה |
extraArgs | ERROR(/List) של ארגומנטים ERROR(/String) להוספה לכל פקודה שמנותחת מהקובץ. יכול להיות ריק אבל לא צריך להיות null. |
זורק | |
---|---|
ConfigurationException |
לְהַמתִין
public void await ()
ממתין למתזמן שיתחיל לפעול, כולל המתנה למסירה מ-TF הישן כדי להשלים אם רלוונטי.
לבדוק האצלה
public static TradefedDelegator checkDelegation (String[] args)
צור מאציל על סמך שורת הפקודה כדי לראות אם אנחנו צריכים להאציל את הריצה.
פרמטרים | |
---|---|
args | String |
החזרות | |
---|---|
TradefedDelegator |
זורק | |
---|---|
| com.android.tradefed.config.ConfigurationException |
ConfigurationException |
createReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
צור מפה של מצב המכשירים כדי שניתן יהיה לשחרר אותם כראוי.
פרמטרים | |
---|---|
context | IInvocationContext |
e | Throwable |
החזרות | |
---|---|
ליצור ארגז חול
public ISandbox createSandbox ()
צור ISandbox
שההזמנה תשתמש בה כדי להפעיל.
החזרות | |
---|---|
ISandbox |
displayCommandQueue
public void displayCommandQueue (PrintWriter printWriter)
פלט מידע מפורט על ניפוי באגים על מצב תור ביצוע הפקודה.
להציג פקודות מידע
public void displayCommandsInfo (PrintWriter printWriter, String regex)
פלט רשימה של פקודות נוכחיות.
פרמטרים | |
---|---|
printWriter | PrintWriter : ה- ERROR(/PrintWriter) שאליו יש פלט. |
regex | String : הביטוי הרגולרי שאליו יש להתאים פקודות כדי להדפיס. אם null, אז כל הפקודות יודפסו. |
displayInvocationsInfo
public void displayInvocationsInfo (PrintWriter printWriter)
מציג רשימה של קריאות נוכחיות.
פרמטרים | |
---|---|
printWriter | PrintWriter : ה- ERROR(/PrintWriter) שאליו יש פלט. |
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter, String regex)
זרוק את קובץ ה-XML המורחב עבור הפקודה עם כל ערכי Option
שצוינו עבור כל הפקודות הנוכחיות.
פרמטרים | |
---|---|
printWriter | PrintWriter : ה- ERROR(/PrintWriter) שאליו יש פלט של הסטטוס. |
regex | String : הביטוי הרגולרי שאליו יש להתאים פקודות על מנת שקובץ ה-xml יושלך. אם null, אז כל הפקודות יוזרקו. |
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
בצע פקודה ישירה במכשירים שכבר הוקצו.
פרמטרים | |
---|---|
listener | ICommandScheduler.IScheduledInvocationListener : יש ליידע את ICommandScheduler.IScheduledInvocationListener |
reservedDevices | ERROR(/List ) ERROR(/List ) לשימוש |
args | String : הארגומנטים של הפקודה |
החזרות | |
---|---|
long | מזהה ההזמנה של הפקודה המתוזמנת. |
זורק | |
---|---|
ConfigurationException |
execCommand
public 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 long execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
מקצה ישירות התקן ומבצע פקודה מבלי להוסיף אותה לתור הפקודות.
פרמטרים | |
---|---|
listener | ICommandScheduler.IScheduledInvocationListener : יש ליידע את ICommandScheduler.IScheduledInvocationListener |
args | String : הארגומנטים של הפקודה |
החזרות | |
---|---|
long | מזהה ההזמנה של הפקודה המתוזמנת. |
זורק | |
---|---|
ConfigurationException | |
NoDeviceException |
getCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
קבל את CommandFileWatcher
המתאים עבור מתזמן זה
החזרות | |
---|---|
CommandFileWatcher |
getExecutingCommandCount
public int getExecutingCommandCount ()
מחזירה את מספר הפקודות במצב ביצוע.
החזרות | |
---|---|
int |
getInvocationInfo
public String getInvocationInfo (int invocationId)
החזר את המידע על הזמנה עם ציון מזהה ההזמנה.
פרמטרים | |
---|---|
invocationId | int : מזהה המעקב של הפנייה. |
החזרות | |
---|---|
String | ERROR(/String) המכילה מידע על ההפעלה. |
getLastInvocationExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
החזר את קוד השגיאה של ההזמנה האחרונה שרצה. החזר 0 (ללא שגיאה), אם לא רצה עדיין הזמנה.
החזרות | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
החזר את ERROR(/Throwable)
מההפניה האחרונה שרצה. החזר null, אם אין זריקה זמינה.
החזרות | |
---|---|
Throwable |
getReadyCommandCount
public int getReadyCommandCount ()
מחזירה את מספר הפקודות במצב מוכן בתור.
החזרות | |
---|---|
int |
getShutdownTimeout
public long getShutdownTimeout ()
החזרות | |
---|---|
long |
isDeviceInInvocationThread
public boolean isDeviceInInvocationThread (ITestDevice device)
מחזירה true אם ההתקן נמצא בשימוש על ידי שרשור הפעלה פעיל.
פרמטרים | |
---|---|
device | ITestDevice |
החזרות | |
---|---|
boolean |
notifyFileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
פרמטרים | |
---|---|
cmdFile | File |
extraArgs |
הסר את כל הפקודות
public void removeAllCommands ()
הסר את כל הפקודות מתזמן
לָרוּץ
public void run ()
בלוק הביצוע העיקרי של השרשור הזה.
setClearcutClient
public void setClearcutClient (ClearcutClient client)
הגדר את הלקוח לדווח על נתוני רתמה
פרמטרים | |
---|---|
client | ClearcutClient |
shouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
החזר true אם אנחנו צריכים לכבות את המתזמן על שגיאות פקודה
החזרות | |
---|---|
boolean |
לכבות
public void shutdown (boolean notifyStop)
נסה לכבות בחן את מתזמן הפקודות.
פרמטרים | |
---|---|
notifyStop | boolean : אם זה נכון, מודיע על קריאות של כיבוי TF. |
כיבוי קשה
public void shutdownHard (boolean killAdb)
נסה לכבות בכוח את מתזמן הפקודות.
דומה ל- shutdown()
, אבל גם יהרוג באופן אופציונלי את חיבור ה-ADB, בניסיון 'לעורר' קריאות שמתנהלות כדי להשלים מהר יותר.
פרמטרים | |
---|---|
killAdb | boolean |
כיבוי קשה
public void shutdownHard ()
נסה לכבות בכוח את מתזמן הפקודות. זהה ל-shutdownHard (true).
shutdownOnEmpty
public void shutdownOnEmpty ()
דומה ל- shutdown()
, אך במקום זאת ימתין לביצוע כל הפקודות לפני היציאה.
שים לב שאם פקודות כלשהן נמצאות במצב לולאה, המתזמן לעולם לא ייצא.
stopInvocation
public boolean stopInvocation (ITestInvocation invocation)
עצור קריאת טלפון רצה.
פרמטרים | |
---|---|
invocation | ITestInvocation |
החזרות | |
---|---|
boolean | נכון אם הקריאה הופסקה, לא נכון אחרת |
stopInvocation
public boolean stopInvocation (int invocationId, String cause)
עצור זימון רץ על ידי ציון המזהה שלו.
פרמטרים | |
---|---|
invocationId | int : מזהה המעקב של הפנייה. |
cause | String : הסיבה להפסקת ההתקשרות. |
החזרות | |
---|---|
boolean | נכון אם הקריאה הופסקה, לא נכון אחרת |
שיטות מוגנות
לנקות
protected void cleanUp ()
סוגר את היומנים ועושה כל ניקוי הכרחי אחר לפני שאנו עוזבים.
חשוף כך שבדיקות יחידה יכולות ללעוג.
ליצור תצורה
protected IConfiguration createConfiguration (String[] args)
פרמטרים | |
---|---|
args | String |
החזרות | |
---|---|
IConfiguration |
זורק | |
---|---|
ConfigurationException |
createInvocationContext
protected IInvocationContext createInvocationContext ()
החזרות | |
---|---|
IInvocationContext |
execCommand
protected long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
פרמטרים | |
---|---|
context | IInvocationContext |
listener | ICommandScheduler.IScheduledInvocationListener |
reservedDevices | |
args | String |
החזרות | |
---|---|
long |
זורק | |
---|---|
ConfigurationException |
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
שיטת מפעל לקבלת הפניה ל- IConfigurationFactory
החזרות | |
---|---|
IConfigurationFactory | את IConfigurationFactory לשימוש |
getDeviceManagementServer
protected DeviceManagementGrpcServer getDeviceManagementServer ()
החזרות | |
---|---|
DeviceManagementGrpcServer |
getDeviceManager
protected IDeviceManager getDeviceManager ()
שיטת מפעל לקבלת הפניה ל- IDeviceManager
החזרות | |
---|---|
IDeviceManager | ה- IDeviceManager לשימוש |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
מאחזר IKeyStoreClient
באמצעות IKeyStoreFactory
המוצהר ב- IGlobalConfiguration
או null אם אף אחד לא מוגדר.
החזרות | |
---|---|
IKeyStoreClient | IKeyStoreClient |
getTestInvocationManagementServer
protected TestInvocationManagementServer getTestInvocationManagementServer ()
החזרות | |
---|---|
TestInvocationManagementServer |
initLogging
protected void initLogging ()
מאתחל את יומן ה-ddmlib.
חשוף כך שבדיקות יחידה יכולות ללעוג.
isShutdown
protected boolean isShutdown ()
החזרות | |
---|---|
boolean |
isShuttingDown
protected boolean isShuttingDown ()
החזרות | |
---|---|
boolean |
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
פרמטרים | |
---|---|
manager | IDeviceManager |