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)
איך פורקים את קובץ ה-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 לא יושבת. |
יוצרים ציבוריים
מתזמן המשימות
public CommandScheduler ()
יצירת CommandScheduler
.
הערה: צריך להפעיל את start לפני השימוש.
שיטות ציבוריות
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 : הנתיב של קובץ הפקודה במערכת הקבצים |
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)
מציגים את קובץ ה-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 |
פקודה
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 |
isDeviceInvocationThread
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).
כיבוי ריק
public void shutdownOnEmpty ()
דומה לפקודה shutdown()
, אבל במקום זאת היא ממתינה להרצה של כל הפקודות לפני היציאה.
חשוב לדעת שאם פקודות כלשהן נמצאות במצב לולאה, מתזמן הפקודות לא ייצא לעולם.
stopInvocation
public boolean stopInvocation (ITestInvocation invocation)
איך מפסיקים קריאה שפועלת.
פרמטרים | |
---|---|
invocation |
ITestInvocation |
החזרות | |
---|---|
boolean |
true אם ההפעלה הופסקה, אחרת false |
הפסקת ההפעלה
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.Configuration וכל החריגות |
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 |
לקוח IKeyStore |
getTestInvocationManagementServer
protected TestInvocationManagementServer getTestInvocationManagementServer ()
החזרות | |
---|---|
TestInvocationManagementServer |
initLogging
protected void initLogging ()
הפעלת יומן ה-ddmlib.
החשיפה מאפשרת לבצע בדיקות מק"ט.
כיבוי
protected boolean isShutdown ()
החזרות | |
---|---|
boolean |
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
פרמטרים | |
---|---|
manager |
IDeviceManager |