מתזמן המשימות
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
JavaScript.lang.Object | |
↳ | com.android.tradefed.command.Commandתזמוןr |
מתזמן להרצת פקודות TradeFederation בכל המכשירים הזמינים.
המערכת תנסה לתעדף פקודות שירוצו על סמך המספר הכולל של הביצוע שלהן בזמן האימון. לדוגמה פקודות שפועלות בתדירות נמוכה או במהירות מקבלות עדיפות על פני פקודות שפועלות לאורך זמן.
פועל ברקע באופן סופי עד לכיבוי.
סיכום
מחלקות מקוננות | |
---|---|
enum |
CommandScheduler.HostState
ערכים שונים של סטטוס מארח |
בנאים ציבוריים | |
---|---|
CommandScheduler()
ייווצר |
שיטות ציבוריות | |
---|---|
boolean
|
addCommand(String[] args)
הוספת פקודה לתזמון. |
void
|
addCommandFile(String cmdFilePath,
הוספה של כל הפקודות מקובץ נתון למתזמן |
void
|
await()
בהמתנה שהמתזמן יתחיל לפעול, כולל בהמתנה לסיום ההעברה של המכשיר הישן אם רלוונטי. |
static
TradefedDelegator
|
checkDelegation(String[] args)
אפשר ליצור בעל גישה לפי שורת הפקודה כדי לבדוק אם אנחנו צריכים להעניק גישה להרצה. |
void
|
completeHandover()
מעדכנת את מתזמן הפקודות שרצף העברה מופעל הושלם במלואו, ו צריך לאתחל מחדש את המנהל המרוחק ביציאת ברירת המחדל. |
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 המורחב של הפקודה עם כל הפרטים
צוינו ערכים של |
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
הפעלת הפקודה באופן ישיר במכשיר שכבר הוקצה. |
void
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
הקצאת מכשיר ישירות והרצת פקודה בלי להוסיף אותו לתור הפקודות
באמצעות |
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
מקצה מכשיר באופן ישיר ומבצע פקודות בלי להוסיף אותו לתור הפקודות. |
CommandFileWatcher
|
getCommandFileWatcher()
קבלת אסימוני |
int
|
getExecutingCommandCount()
הפונקציה מחזירה את מספר הפקודות במצב ביצוע. |
CommandScheduler.HostState
|
getHostState()
|
String
|
getInvocationInfo(int invocationId)
להחזיר את המידע על ממשק ההפעלה שמצוין בו מזהה ההפעלה. |
CommandRunner.ExitCode
|
getLastInvocationExitCode()
מחזירה את קוד השגיאה של ההפעלה האחרונה שרצה. |
Throwable
|
getLastInvocationThrowable()
מחזירה את הערך |
int
|
getReadyCommandCount()
הפונקציה מחזירה את מספר הפקודות במצב Ready בתור. |
long
|
getShutdownTimeout()
|
void
|
handoverInitiationComplete()
מודיע למתזמן הפקודות על החלפה ראשונית של מכשירים ופקודות שנמצאות בשימוש הושלם, והוא יכול להתחיל בתזמון. |
boolean
|
handoverShutdown(int handoverPort)
הפעלת |
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
הסרת כל הפקודות מהמתזמן |
void
|
run()
בלוק הביצוע הראשי של השרשור הזה. |
void
|
setClearcutClient(ClearcutClient client)
הגדרת הלקוח לדיווח על נתוני רתמות |
boolean
|
shouldShutdownOnCmdfileError()
פונקציה זו מחזירה את הערך true אם יש צורך לכבות את המתזמן במקרה של שגיאות פקודה |
void
|
shutdown()
כדאי לנסות לכבות באלגנטיות את מתזמן הפקודות. |
void
|
shutdownHard(boolean killAdb)
ניסיון לכבות בכוח את מתזמן הפקודות. |
void
|
shutdownHard()
ניסיון לכבות בכוח את מתזמן הפקודות. |
void
|
shutdownOnEmpty()
דומה ל- |
void
|
start()
הפעלת המתזמן, כולל הגדרת רישום ביומן, התחלת |
boolean
|
stopInvocation(ITestInvocation invocation)
הפסקת ההפעלה הרצה. |
boolean
|
stopInvocation(int invocationId, String cause)
כדי להפסיק הפעלה רצה, מציינים את המזהה. |
שיטות מוגנות | |
---|---|
void
|
cleanUp()
הלחצן סוגר את היומנים ומבצע כל ניקיון נדרש אחר לפני שיוצאים ממנו. |
IConfiguration
|
createConfiguration(String[] args)
|
IInvocationContext
|
createInvocationContext()
|
IConfigurationFactory
|
getConfigFactory()
שיטת היצרן לקבלת הפניה אל |
IDeviceManager
|
getDeviceManager()
שיטת היצרן לקבלת הפניה אל |
TradefedFeatureServer
|
getFeatureServer()
|
IHostOptions
|
getHostOptions()
|
IKeyStoreClient
|
getKeyStoreClient()
אחזור |
void
|
initLogging()
הפעלת יומן ה-ddmlib. |
boolean
|
isShutdown()
|
boolean
|
isShuttingDown()
|
void
|
processReadyCommands(IDeviceManager manager)
|
void
|
waitForAllInvocationThreads()
צריך להמתין עד שכל שרשורי ההפעלה יסתיימו. |
בנאים ציבוריים
מתזמן המשימות
public CommandScheduler ()
ייווצר CommandScheduler
.
הערה: חובה לקרוא להתחלה לפני השימוש.
שיטות ציבוריות
addCommand
public boolean addCommand (String[] args)
הוספת פקודה לתזמון.
פקודה היא למעשה מופע של מערך הגדרות אישיות שמריצים, ואת הארגומנטים שמשויכים אליה.
אם "--help" מצוין ארגומנט, טקסט העזרה עבור הפלט של ההגדרה יישלח אל stdout. אחרת, ההגדרה תתווסף לרשימת 'הבאים בתור' אל לרוץ.
פרמטרים | |
---|---|
args |
String : הארגומנטים מסוג config. |
החזרות | |
---|---|
boolean |
true אם הפקודה נוספה בהצלחה |
קליעות | |
---|---|
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 |
קליעות | |
---|---|
ConfigurationException |
להשלים את ה-Handover
public void completeHandover ()
מעדכנת את מתזמן הפקודות שרצף העברה מופעל הושלם במלואו, ו צריך לאתחל מחדש את המנהל המרוחק ביציאת ברירת המחדל.
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 void execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
הפעלת הפקודה באופן ישיר במכשיר שכבר הוקצה.
פרמטרים | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : הICommandScheduler.IScheduledInvocationListener שצריך לעדכן |
device |
ITestDevice : ITestDevice לשימוש |
args |
String : הארגומנטים של הפקודה |
קליעות | |
---|---|
ConfigurationException |
פקודה
public void execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
הקצאת מכשיר ישירות והרצת פקודה בלי להוסיף אותו לתור הפקודות
באמצעות IInvocationContext
קיים.
פרמטרים | |
---|---|
context |
IInvocationContext : IInvocationContext קיים. |
listener |
ICommandScheduler.IScheduledInvocationListener : הICommandScheduler.IScheduledInvocationListener שצריך לעדכן |
args |
String : הארגומנטים של הפקודה |
קליעות | |
---|---|
ConfigurationException |
|
NoDeviceException |
פקודה
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
מקצה מכשיר באופן ישיר ומבצע פקודות בלי להוסיף אותו לתור הפקודות.
פרמטרים | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : הICommandScheduler.IScheduledInvocationListener שצריך לעדכן |
args |
String : הארגומנטים של הפקודה |
קליעות | |
---|---|
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 |
השלמת ההעברה
public void handoverInitiationComplete ()
מודיע למתזמן הפקודות על החלפה ראשונית של מכשירים ופקודות שנמצאות בשימוש הושלם, והוא יכול להתחיל בתזמון.
כיבוי מסירה
public boolean handoverShutdown (int handoverPort)
הפעלת shutdown()
והעברה לתהליך אחר שבוצע עבורו סחר משותף באותו המארח הזה.
המתזמן יודיע על תהליך ההאזנה מרחוק בזמן ההאזנה בשקע הזה של המכשירים שהתפנו ברגע שהם הופכים לזמינים.
פרמטרים | |
---|---|
handoverPort |
int |
החזרות | |
---|---|
boolean |
true אם התחלת ההעברה בוצעה בהצלחה, false
אחרת
|
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 ()
כדאי לנסות לכבות באלגנטיות את מתזמן הפקודות.
ניקוי פקודות שממתינות לבדיקה, ובקשה לכל ההפעלות שמתבצעות נסגר בחינניות.
לאחר קריאה לכיבוי, הלולאה הראשית של מתזמן ימתין עד שכל ההפעלות מתבצעות להשלים לפני יציאה לחלוטין.
כיבוי קשיח
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 |
שיטות מוגנות
ניקוי
protected void cleanUp ()
הלחצן סוגר את היומנים ומבצע כל ניקיון נדרש אחר לפני שיוצאים ממנו.
נחשפו כך שבדיקות היחידה יוכלו לדמות.
createConfiguration
protected IConfiguration createConfiguration (String[] args)
פרמטרים | |
---|---|
args |
String |
החזרות | |
---|---|
IConfiguration |
קליעות | |
---|---|
ConfigurationException |
CreateInvocationContext
protected IInvocationContext createInvocationContext ()
החזרות | |
---|---|
IInvocationContext |
getConfigמפעל
protected IConfigurationFactory getConfigFactory ()
שיטת היצרן לקבלת הפניה אל IConfigurationFactory
החזרות | |
---|---|
IConfigurationFactory |
IConfigurationFactory לשימוש
|
getDeviceManager
protected IDeviceManager getDeviceManager ()
שיטת היצרן לקבלת הפניה אל IDeviceManager
החזרות | |
---|---|
IDeviceManager |
IDeviceManager לשימוש
|
getHostOptions
protected IHostOptions getHostOptions ()
החזרות | |
---|---|
IHostOptions |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
אחזור IKeyStoreClient
באמצעות IKeyStoreFactory
מוצהר ב-IGlobalConfiguration
או כ-null אם לא מוגדר ערך.
החזרות | |
---|---|
IKeyStoreClient |
לקוח IKeyStore |
initLogging
protected void initLogging ()
הפעלת יומן ה-ddmlib.
נחשפו כך שבדיקות היחידה יוכלו לדמות.
כיבוי
protected boolean isShutdown ()
החזרות | |
---|---|
boolean |
בכיבוי
protected boolean isShuttingDown ()
החזרות | |
---|---|
boolean |
ProcessReadyCommands
protected void processReadyCommands (IDeviceManager manager)
פרמטרים | |
---|---|
manager |
IDeviceManager |
ListenForAllInvocationThreads
protected void waitForAllInvocationThreads ()
צריך להמתין עד שכל שרשורי ההפעלה יסתיימו.