CommandScheduler
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
מתזמן להרצת פקודות של TradeFederation בכל המכשירים הזמינים.
המערכת תנסה לתת עדיפות לפקודות להרצה על סמך מספר ההפעלות הכולל שלהן בזמן הביצוע. לדוגמה, פקודות שמתבצעות לעיתים רחוקות או במהירות יתקבלו עדיפות על פני פקודות שמתבצעות זמן רב.
פועלת לנצח ברקע עד להשבתה.
סיכום
כיתות בתצוגת עץ | |
---|---|
enum |
CommandScheduler.HostState
Enums של סטטוסים שונים של מארח |
קונסטרוקטורים גלויים לכולם | |
---|---|
CommandScheduler()
יצירת |
שיטות ציבוריות | |
---|---|
boolean
|
addCommand(String[] args)
הוספת פקודה למתזמן. |
void
|
addCommandFile(String cmdFilePath,
הוספת כל הפקודות מהקובץ הנתון לתזמון |
void
|
await()
ממתינים שהמתזמן יתחיל לפעול, כולל המתנה להשלמת ההעברה מ-TF הישן, אם רלוונטי. |
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)
יצירת גרסת dump של קובץ ה-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()
הפונקציה מחזירה את מספר הפקודות במצב 'מוכן' בתור. |
long
|
getShutdownTimeout()
|
void
|
handoverInitiationComplete()
המערכת מעדכנת את מתזמן הפקודות שהשלימה את החלפת המכשירים והפקודות שבשימוש, ושהיא יכולה להתחיל לתזמן את הפעולה. |
boolean
|
handoverShutdown(int handoverPort)
מפעיל |
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
הסרת כל הפקודות מהמתזמן |
void
|
run()
בלוק הביצוע הראשי של ה-thread הזה. |
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()
צריך להמתין עד שכל ה-threads של ההפעלה יסתיימו. |
קונסטרוקטורים גלויים לכולם
CommandScheduler
public CommandScheduler ()
יצירת CommandScheduler
.
הערה: צריך להפעיל את start לפני השימוש.
שיטות ציבוריות
addCommand
public boolean addCommand (String[] args)
הוספת פקודה למתזמן.
פקודה היא למעשה מופע של הגדרה להרצה והארגומנטים המשויכים לה.
אם מציינים את הארגומנט '--help', תוכן העזרה של ההגדרות יופיע בפלט של stdout. אחרת, ההגדרה תתווסף לתור להרצה.
פרמטרים | |
---|---|
args |
String : ארגומנטים של תצורה. |
החזרות | |
---|---|
boolean |
true אם הפקודה נוספה בהצלחה |
זריקות | |
---|---|
ConfigurationException |
addCommandFile
public void addCommandFile (String cmdFilePath,extraArgs)
הוספת כל הפקודות מהקובץ הנתון לתזמון
פרמטרים | |
---|---|
cmdFilePath |
String : הנתיב של קובץ הפקודה במערכת הקבצים |
extraArgs |
: ERROR(/List) של ארגומנטים מסוג String שצריך לצרף לכל פקודה שמנותחת מהקובץ. השדה יכול להיות ריק, אבל לא יכול להיות null. |
זריקות | |
---|---|
ConfigurationException |
await
public void await ()
ממתינים שהמתזמן יתחיל לפעול, כולל המתנה להשלמת ההעברה מ-TF הישן, אם רלוונטי.
checkDelegation
public static TradefedDelegator checkDelegation (String[] args)
יוצרים משתמש שנותן לאחרים הרשאה לניהול שיחות על סמך שורת הפקודה כדי לבדוק אם צריך להעביר את ההרצה.
פרמטרים | |
---|---|
args |
String |
החזרות | |
---|---|
TradefedDelegator |
זריקות | |
---|---|
ConfigurationException |
completeHandover
public void completeHandover ()
האות הזה מעדכן את מתזמן הפקודות שרצף ההעברה שהתחיל הושלם, ושהוא צריך לאתחל מחדש את מנהל הצד המרוחק ביציאת ברירת המחדל.
createReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
יוצרים מפה של מצב המכשירים כדי שאפשר יהיה לשחרר אותם בצורה מתאימה.
פרמטרים | |
---|---|
context |
IInvocationContext |
e |
Throwable |
החזרות | |
---|---|
|
createSandbox
public ISandbox createSandbox ()
יוצרים ISandbox
שבו ההפעלה תשתמש כדי להריץ את הפקודה.
החזרות | |
---|---|
ISandbox |
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)
יצירת גרסת dump של קובץ ה-xml המורחב של הפקודה עם כל הערכים של Option
שצוינו לכל הפקודות הנוכחיות.
פרמטרים | |
---|---|
printWriter |
PrintWriter : ה-ERROR(/PrintWriter) שאליו יש להוציא את הסטטוס. |
regex |
String : הביטוי הרגולרי שאליו צריכות להתאים הפקודות כדי לבצע דמפ של קובץ ה-XML. אם הערך הוא null, כל הפקודות יימחקו.
|
execCommand
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
ביצוע הפקודה ישירות במכשיר שכבר הוקצה.
פרמטרים | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : הICommandScheduler.IScheduledInvocationListener שרוצים להודיע לו |
device |
ITestDevice : ה-ITestDevice לשימוש |
args |
String : ארגומנטים של הפקודה |
זריקות | |
---|---|
ConfigurationException |
execCommand
public void execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
הקצאה ישירה של מכשיר והפעלת פקודה בלי להוסיף אותה לתור הפקודות באמצעות IInvocationContext
שכבר קיים.
פרמטרים | |
---|---|
context |
IInvocationContext : IInvocationContext קיים. |
listener |
ICommandScheduler.IScheduledInvocationListener : ה-ICommandScheduler.IScheduledInvocationListener שרוצים להודיע לו |
args |
String : ארגומנטים של הפקודה |
זריקות | |
---|---|
ConfigurationException |
|
NoDeviceException |
execCommand
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 שמכיל מידע על ההפעלה.
|
getLastInvocationExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
הפונקציה מחזירה את קוד השגיאה של ההפעלה האחרונה שפועלה. מחזירים 0 (ללא שגיאה) אם עדיין לא בוצעה הפעלה.
החזרות | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
מחזירים את Throwable
מהקריאה האחרונה שהופעל.
הפונקציה מחזירה null אם אין זריקת חריגה זמינה.
החזרות | |
---|---|
Throwable |
getReadyCommandCount
public int getReadyCommandCount ()
הפונקציה מחזירה את מספר הפקודות במצב 'מוכן' בתור.
החזרות | |
---|---|
int |
getShutdownTimeout
public long getShutdownTimeout ()
החזרות | |
---|---|
long |
handoverInitiationComplete
public void handoverInitiationComplete ()
המערכת מעדכנת את מתזמן הפקודות שהשלימה את החלפת המכשירים והפקודות שבשימוש, ושהיא יכולה להתחיל לתזמן את הפעולה.
handoverShutdown
public boolean handoverShutdown (int handoverPort)
מפעיל shutdown()
ומעביר את התהליך לתהליך אחר של Tradefed באותו מארח.
מתזמן התהליכים יעדכן את התהליך המרוחק של tradefed שמאזין באותו יציאה על המכשירים שהתפנו ברגע שהם יהיו זמינים.
פרמטרים | |
---|---|
handoverPort |
int |
החזרות | |
---|---|
boolean |
true אם ההתחלה של העברת הבעלות הייתה מוצלחת, false
אחרת
|
notifyFileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
פרמטרים | |
---|---|
cmdFile |
File |
extraArgs |
|
removeAllCommands
public void removeAllCommands ()
הסרת כל הפקודות מהמתזמן
ראן
public void run ()
בלוק הביצוע הראשי של ה-thread הזה.
setClearcutClient
public void setClearcutClient (ClearcutClient client)
הגדרת הלקוח לדיווח על נתוני רתמה
פרמטרים | |
---|---|
client |
ClearcutClient |
shouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
הפונקציה מחזירה את הערך True אם צריך לכבות את מתזמן הפקודות בגלל שגיאות בפקודות
החזרות | |
---|---|
boolean |
כיבוי
public void shutdown ()
ניסיון להשבית את מתזמן הפקודות בצורה תקינה.
הפקודה מנקה את הפקודות שממתינות לבדיקה ומבקשת שכל ההפעלות שנמצאות בתהליך יושבתו בצורה תקינה.
אחרי הקריאה ל-shutdown, הלולאה הראשית של מתזמן האירועים תמתין עד להשלמת כל ההפעלות שנמצאות בתהליך, לפני שהיא תצא לגמרי.
shutdownHard
public void shutdownHard (boolean killAdb)
ניסיון לכבות בכוח את מתזמן הפקודות.
דומה ל-shutdown()
, אבל אפשר גם להרוג את החיבור ל-adb, בניסיון 'לעודד' קריאות בפעולה להשלים מהר יותר.
פרמטרים | |
---|---|
killAdb |
boolean |
shutdownHard
public void shutdownHard ()
ניסיון לכבות בכוח את מתזמן הפקודות. זהה ל-shutdownHard(true).
shutdownOnEmpty
public void shutdownOnEmpty ()
דומה לפקודה shutdown()
, אבל במקום זאת היא ממתינה להרצה של כל הפקודות לפני היציאה.
חשוב לדעת שאם פקודות כלשהן נמצאות במצב לולאה, מתזמן הפקודות לא ייצא לעולם.
התחל
public void start ()
הפעלת מתזמן האירועים, כולל הגדרת הרישום ביומן, אתחול של DeviceManager
וכו'
stopInvocation
public boolean stopInvocation (ITestInvocation invocation)
איך מפסיקים קריאה שפועלת.
פרמטרים | |
---|---|
invocation |
ITestInvocation |
החזרות | |
---|---|
boolean |
true אם הקריאה הופסקה, false אחרת |
stopInvocation
public boolean stopInvocation (int invocationId, String cause)
כדי להפסיק קריאה שפועלת, מציינים את המזהה שלה.
פרמטרים | |
---|---|
invocationId |
int : מזהה המעקב של ההפעלה. |
cause |
String : הסיבה להפסקת ההפעלה. |
החזרות | |
---|---|
boolean |
true אם הקריאה הופסקה, false אחרת |
שיטות מוגנות
cleanUp
protected void cleanUp ()
סגירת היומנים וביצוע פעולות ניקוי אחרות הנדרשות לפני היציאה.
החשיפה מאפשרת לבצע בדיקות מק"ט.
createConfiguration
protected IConfiguration createConfiguration (String[] args)
פרמטרים | |
---|---|
args |
String |
החזרות | |
---|---|
IConfiguration |
זריקות | |
---|---|
ConfigurationException |
createInvocationContext
protected IInvocationContext createInvocationContext ()
החזרות | |
---|---|
IInvocationContext |
getConfigFactory
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 |
IKeyStoreClient |
initLogging
protected void initLogging ()
אתחול היומן של ddmlib.
החשיפה מאפשרת לבצע בדיקות מק"ט.
isShutdown
protected boolean isShutdown ()
החזרות | |
---|---|
boolean |
isShuttingDown
protected boolean isShuttingDown ()
החזרות | |
---|---|
boolean |
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
פרמטרים | |
---|---|
manager |
IDeviceManager |
waitForAllInvocationThreads
protected void waitForAllInvocationThreads ()
צריך להמתין עד שכל ה-threads של ההפעלה יסתיימו.