CommandScheduler
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
מתזמן להרצת פקודות של TradeFederation בכל המכשירים הזמינים.
המערכת תנסה לתת עדיפות לפקודות להרצה על סמך מספר ההפעלות הכולל שלהן בזמן הביצוע. לדוגמה, פקודות שמתבצעות לעיתים רחוקות או במהירות יתקבלו עדיפות על פני פקודות שמתבצעות זמן רב.
פועלת לנצח ברקע עד להשבתה.
סיכום
קונסטרוקטורים גלויים לכולם | |
---|---|
CommandScheduler()
יצירת |
שיטות ציבוריות | |
---|---|
Pair<Boolean, Integer>
|
addCommand(String[] args)
הוספת פקודה למתזמן. |
void
|
addCommandFile(String cmdFilePath,
הוספת כל הפקודות מהקובץ הנתון לתזמון |
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)
יצירת גרסת dump של קובץ ה-xml המורחב של הפקודה עם כל הערכים של |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
ביצוע הפקודה ישירות במכשיר שכבר הוקצה. |
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()
הפונקציה מחזירה את מספר הפקודות במצב 'מוכן' בתור. |
long
|
getShutdownTimeout()
|
boolean
|
isDeviceInInvocationThread(ITestDevice device)
הפונקציה מחזירה את הערך true אם יש שימוש במכשיר על ידי שרשור קריאה פעיל. |
boolean
|
isShuttingDown()
|
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
הסרת כל הפקודות מהמתזמן |
void
|
run()
בלוק הביצוע הראשי של ה-thread הזה. |
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()
השירות יפסיק לתזמן ולקבל בדיקות חדשות, אבל Tradefed לא יושבת. |
קונסטרוקטורים גלויים לכולם
CommandScheduler
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) של ארגומנטים מסוג String שצריך לצרף לכל פקודה שמנותחת מהקובץ. השדה יכול להיות ריק, אבל לא יכול להיות null. |
זריקות | |
---|---|
ConfigurationException |
await
public void await ()
ממתינים שהמתזמן יתחיל לפעול, כולל המתנה להשלמת ההעברה מ-TF הישן, אם רלוונטי.
checkDelegation
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 |
החזרות | |
---|---|
|
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 long execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
ביצוע הפקודה ישירות במכשיר שכבר הוקצה.
פרמטרים | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : ה-ICommandScheduler.IScheduledInvocationListener שרוצים להודיע לו |
device |
ITestDevice : ה-ITestDevice לשימוש |
args |
String : ארגומנטים של הפקודה |
החזרות | |
---|---|
long |
מזהה ההפעלה של הפקודה המתוזמנת. |
זריקות | |
---|---|
ConfigurationException |
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
ביצוע הפקודה ישירות במכשירים שכבר הוקצו.
פרמטרים | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : ה-ICommandScheduler.IScheduledInvocationListener שרוצים להודיע לו |
reservedDevices |
: ה-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 |
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 |
isDeviceInInvocationThread
public boolean isDeviceInInvocationThread (ITestDevice device)
הפונקציה מחזירה את הערך true אם יש שימוש במכשיר על ידי שרשור קריאה פעיל.
פרמטרים | |
---|---|
device |
ITestDevice |
החזרות | |
---|---|
boolean |
isShuttingDown
public boolean isShuttingDown ()
החזרות | |
---|---|
boolean |
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 (boolean notifyStop)
ניסיון להשבית את מתזמן הפקודות בצורה תקינה.
פרמטרים | |
---|---|
notifyStop |
boolean : אם הערך הוא true, מתקבלת התראה על הפעלות של כיבוי TF. |
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 אחרת |
stopScheduling
public void stopScheduling ()
השירות יפסיק לתזמן ולקבל בדיקות חדשות, אבל Tradefed לא יושבת. המטרה היא לאפשר השבתה בשני שלבים, שבהם קודם מבטלים את כל הבדיקות שפועלות ואז מבטלים את תהליך Tradefed.
שיטות מוגנות
cleanUp
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)
הפונקציה קובעת אם פקודה נתונה היא ריצה ללא ביצוע. אם הפקודה היא הרצה ללא ביצוע, צריך לאמת אותה. אם יהיו בעיות בהגדרות, תופיע הודעת שגיאה מסוג ConfigurationException.
פרמטרים | |
---|---|
handler |
ICommandScheduler.IScheduledInvocationListener : ERROR(/InvocationEventHandler) כדי לדווח על אירועים לצורך אימות במצב יבש. |
config |
IConfiguration |
החזרות | |
---|---|
void |
true אם הפקודה היא ריצה ללא ביצוע, false אחרת. |
זריקות | |
---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
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 |
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
פרמטרים | |
---|---|
manager |
IDeviceManager |