מתזמן המשימות
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
JavaScript.lang.Object | |
↳ | com.android.tradefed.command.Commandתזמוןr |
מתזמן להרצת פקודות TradeFederation בכל המכשירים הזמינים.
המערכת תנסה לתעדף פקודות שירוצו על סמך המספר הכולל של הביצוע שלהן בזמן האימון. לדוגמה פקודות שפועלות בתדירות נמוכה או במהירות מקבלות עדיפות על פני פקודות שפועלות לאורך זמן.
פועל ברקע באופן סופי עד לכיבוי.
סיכום
בנאים ציבוריים | |
---|---|
CommandScheduler()
ייווצר |
שיטות ציבוריות | |
---|---|
Pair<Boolean, Integer>
|
addCommand(String[] args)
הוספת פקודה לתזמון. |
void
|
addCommandFile(String cmdFilePath,
הוספה של כל הפקודות מקובץ נתון למתזמן |
void
|
await()
בהמתנה שהמתזמן יתחיל לפעול, כולל בהמתנה לסיום ההעברה של המכשיר הישן אם רלוונטי. |
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,
הפעלה ישירה של הפקודה במכשירים שכבר הוקצו. |
long
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
הקצאת מכשיר ישירות והרצת פקודה בלי להוסיף אותו לתור הפקודות
באמצעות |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
הקצאת מכשיר ישירות והרצת פקודה בלי להוסיף אותו לתור הפקודות. |
CommandFileWatcher
|
getCommandFileWatcher()
משיגים את ה-CommandFileWatcher המתאים לתזמון הזה |
int
|
getExecutingCommandCount()
הפונקציה מחזירה את מספר הפקודות במצב ביצוע. |
CommandScheduler.HostState
|
getHostState()
|
String
|
getInvocationInfo(int invocationId)
להחזיר את המידע על ממשק ההפעלה שמצוין בו מזהה ההפעלה. |
CommandRunner.ExitCode
|
getLastInvocationExitCode()
מחזירה את קוד השגיאה של ההפעלה האחרונה שרצה. |
Throwable
|
getLastInvocationThrowable()
מחזירה את הערך |
int
|
getReadyCommandCount()
הפונקציה מחזירה את מספר הפקודות במצב Ready בתור. |
long
|
getShutdownTimeout()
|
boolean
|
isDeviceInInvocationThread(ITestDevice device)
הפונקציה מחזירה את הערך True אם המכשיר נמצא בשימוש על ידי שרשור הפעלה פעיל. |
boolean
|
isShuttingDown()
|
void
|
notifyFileChanged(File cmdFile,
|
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)
כדי להפסיק הפעלה רצה, מציינים את המזהה. |
void
|
stopScheduling()
האפשרות הזו מפסיקה לתזמן ולקבל בדיקות חדשות, אבל לא מפסיקה אתטרייד. |
בנאים ציבוריים
מתזמן המשימות
public CommandScheduler ()
ייווצר CommandScheduler
.
הערה: חובה לקרוא להתחלה לפני השימוש.
שיטות ציבוריות
addCommand
public Pair<Boolean, Integer> addCommand (String[] args)
הוספת פקודה לתזמון.
פקודה היא בעצם מופע של מערך הגדרות אישיות שמריצים ארגומנטים.
אם "--help" צוין ארגומנט, טקסט העזרה עבור ההגדרה יופק כפלט אל stdout. אחרת, ההגדרה תתווסף לתור להרצה.
פרמטרים | |
---|---|
args |
String : הארגומנטים מסוג config. |
החזרות | |
---|---|
Pair<Boolean, Integer> |
צמד ערכים, הערך הראשון הוא true בוליאני אם נוספה פקודה
בהצלחה. הערך השני הוא המזהה הידוע של מעקב הפקודות(ערך לא שלילי), אם
הפקודה נוספה בהצלחה, החזרת הפקודה 0 כאשר תתווסף הפקודה לכל המכשירים, אחרת
1-. |
קליעות | |
---|---|
ConfigurationException |
addCommandFile
public void addCommandFile (String cmdFilePath,extraArgs)
הוספה של כל הפקודות מקובץ נתון למתזמן
פרמטרים | |
---|---|
cmdFilePath |
String : נתיב מערכת הקבצים של קובץ comand |
extraArgs |
: ERROR(/List) מתוך String ארגומנטים לצירוף לכל פקודה שנותחה
מקובץ. השדה יכול להיות ריק אבל לא יכול להיות null. |
קליעות | |
---|---|
ConfigurationException |
לחכות
public void await ()
בהמתנה שהמתזמן יתחיל לפעול, כולל בהמתנה לסיום ההעברה של המכשיר הישן אם רלוונטי.
האצלת ביקורת
public static TradefedDelegator checkDelegation (String[] args)
אפשר ליצור בעל גישה לפי שורת הפקודה כדי לבדוק אם אנחנו צריכים להעניק גישה להרצה.
פרמטרים | |
---|---|
args |
String |
החזרות | |
---|---|
TradefedDelegator |
קליעות | |
---|---|
|
com.android.tradefed.config.Configuration וכל החריגות |
ConfigurationException |
CreateReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
כדאי ליצור מפה של מצבי המכשירים כדי שניתן יהיה לפרסם אותם בהתאם.
פרמטרים | |
---|---|
context |
IInvocationContext |
e |
Throwable |
החזרות | |
---|---|
|
displayCommandQueue
public void displayCommandQueue (PrintWriter printWriter)
פלט מידע מפורט על ניפוי באגים לגבי מצב תור ביצוע הפקודות.
displayCommandsInfo
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, כל הפקודות יושלכו. |
פקודה
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
הפעלה ישירה של הפקודה במכשירים שכבר הוקצו.
פרמטרים | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : הICommandScheduler.IScheduledInvocationListener שצריך לעדכן |
reservedDevices |
: ERROR(/List לשימוש |
args |
String : הארגומנטים של הפקודה |
החזרות | |
---|---|
long |
מזהה ההפעלה של הפקודה המתוזמנת. |
קליעות | |
---|---|
ConfigurationException |
פקודה
public long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
הקצאת מכשיר ישירות והרצת פקודה בלי להוסיף אותו לתור הפקודות
באמצעות IInvocationContext
קיים.
פרמטרים | |
---|---|
context |
IInvocationContext : IInvocationContext קיים. |
listener |
ICommandScheduler.IScheduledInvocationListener : הICommandScheduler.IScheduledInvocationListener שצריך לעדכן |
args |
String : הארגומנטים של הפקודה |
החזרות | |
---|---|
long |
קליעות | |
---|---|
ConfigurationException |
|
NoDeviceException |
פקודה
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 |
String שמכיל מידע על ההפעלה. |
getLastInvocationיציאהCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
מחזירה את קוד השגיאה של ההפעלה האחרונה שרצה. פונקציה זו מחזירה 0 (אין שגיאה), אם עדיין לא פעלה הפעלה.
החזרות | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
מחזירה את הערך Throwable
מההפעלה האחרונה שרצה.
החזרת null, אם לא ניתן להשליך.
החזרות | |
---|---|
Throwable |
getReadyCommandCount
public int getReadyCommandCount ()
הפונקציה מחזירה את מספר הפקודות במצב Ready בתור.
החזרות | |
---|---|
int |
תם הזמן הקצוב לכיבוי
public long getShutdownTimeout ()
החזרות | |
---|---|
long |
isDeviceInvocationThread
public boolean isDeviceInInvocationThread (ITestDevice device)
הפונקציה מחזירה את הערך True אם המכשיר נמצא בשימוש על ידי שרשור הפעלה פעיל.
פרמטרים | |
---|---|
device |
ITestDevice |
החזרות | |
---|---|
boolean |
בכיבוי
public boolean isShuttingDown ()
החזרות | |
---|---|
boolean |
notifyFileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
פרמטרים | |
---|---|
cmdFile |
File |
extraArgs |
|
removeAllCommands
public void removeAllCommands ()
הסרת כל הפקודות מהמתזמן
ראן
public void run ()
בלוק הביצוע הראשי של השרשור הזה.
setClearcutClient
public void setClearcutClient (ClearcutClient client)
הגדרת הלקוח לדיווח על נתוני רתמות
פרמטרים | |
---|---|
client |
ClearcutClient |
צריךכיבוי
public boolean shouldShutdownOnCmdfileError ()
פונקציה זו מחזירה את הערך true אם יש צורך לכבות את המתזמן במקרה של שגיאות פקודה
החזרות | |
---|---|
boolean |
כיבוי
public void shutdown (boolean notifyStop)
כדאי לנסות לכבות באלגנטיות את מתזמן הפקודות.
פרמטרים | |
---|---|
notifyStop |
boolean : אם הערך הוא True, המערכת מודיעה על הפעלות של סגירת TF. |
כיבוי קשיח
public void shutdownHard (boolean killAdb)
ניסיון לכבות בכוח את מתזמן הפקודות.
דומה ל-shutdown()
, אבל באופן אופציונלי גם יחדל את חיבור ה-adb,
לנסות 'לעורר השראה' מתבצעות הפעלות כדי להשלים אותן מהר יותר.
פרמטרים | |
---|---|
killAdb |
boolean |
כיבוי קשיח
public void shutdownHard ()
ניסיון לכבות בכוח את מתזמן הפקודות. זהה ל- offHard(true).
כיבוי ריק
public void shutdownOnEmpty ()
דומה ל-shutdown()
, אבל ימתין עד שכל הפקודות יבוצעו
לפני היציאה.
חשוב לשים לב שאם פקודות מסוימות נמצאות במצב לולאה, מתזמן הבקשות לא ייצא אף פעם.
הפסקת ההפעלה
public boolean stopInvocation (ITestInvocation invocation)
הפסקת ההפעלה הרצה.
פרמטרים | |
---|---|
invocation |
ITestInvocation |
החזרות | |
---|---|
boolean |
true אם ההפעלה הופסקה, אחרת false |
הפסקת ההפעלה
public boolean stopInvocation (int invocationId, String cause)
כדי להפסיק הפעלה רצה, מציינים את המזהה.
פרמטרים | |
---|---|
invocationId |
int : המזהה לצורכי מעקב של ההפעלה. |
cause |
String : הסיבה להפסקת ההפעלה. |
החזרות | |
---|---|
boolean |
true אם ההפעלה הופסקה, אחרת false |
הפסקת התזמון
public void stopScheduling ()
האפשרות הזו מפסיקה לתזמן ולקבל בדיקות חדשות, אבל לא מפסיקה אתטרייד. המטרה היא לאפשר כיבוי דו-שלבי שבו קודם כולנו מרוקנים את כל הבדיקות הפעילות ואז מפסיקים את מערכת TradeFederal תהליך האימות.
שיטות מוגנות
ניקוי
protected void cleanUp ()
הלחצן סוגר את היומנים ומבצע כל ניקיון נדרש אחר לפני שיוצאים ממנו.
נחשפו כך שבדיקות היחידה יוכלו לדמות.
createConfiguration
protected IConfiguration createConfiguration (String[] args)
פרמטרים | |
---|---|
args |
String |
החזרות | |
---|---|
IConfiguration |
קליעות | |
---|---|
ConfigurationException |
CreateInvocationContext
protected IInvocationContext createInvocationContext ()
החזרות | |
---|---|
IInvocationContext |
dryRunCommandReporting
protected void dryRunCommandReporting (ICommandScheduler.IScheduledInvocationListener handler, IConfiguration config)
המדיניות קובעת אם פקודה מסוימת היא הרצה יבשה. אם הפקודה היא הרצה יבשה, מאמתים אותה. אם המיקום יש בעיית הגדרות, אז היא תקפיץ תצורת 'חריגה'.
פרמטרים | |
---|---|
handler |
ICommandScheduler.IScheduledInvocationListener : ERROR(/InvocationEventHandler) כדי לדווח על אירועים לאימות בהרצה יבשה. |
config |
IConfiguration |
החזרות | |
---|---|
void |
true אם הפקודה היא הרצה יבשה, אחרת false. |
קליעות | |
---|---|
|
com.android.tradefed.config.Configuration וכל החריגות |
ConfigurationException |
פקודה
protected long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
פרמטרים | |
---|---|
context |
IInvocationContext |
listener |
ICommandScheduler.IScheduledInvocationListener |
reservedDevices |
|
args |
String |
החזרות | |
---|---|
long |
קליעות | |
---|---|
ConfigurationException |
getConfigמפעל
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 |
לקוח IKeyStore |
getTestInvocationManagementServer
protected TestInvocationManagementServer getTestInvocationManagementServer ()
החזרות | |
---|---|
TestInvocationManagementServer |
initLogging
protected void initLogging ()
הפעלת יומן ה-ddmlib.
נחשפו כך שבדיקות היחידה יוכלו לדמות.
כיבוי
protected boolean isShutdown ()
החזרות | |
---|---|
boolean |
ProcessReadyCommands
protected void processReadyCommands (IDeviceManager manager)
פרמטרים | |
---|---|
manager |
IDeviceManager |