CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

java.lang.Object
   ↳ com.android.tradefed.command.CommandScheduler


מתזמן להרצת פקודות של TradeFederation בכל המכשירים הזמינים.

המערכת תנסה לתת עדיפות לפקודות להרצה על סמך מספר ההפעלות הכולל שלהן בזמן הביצוע. לדוגמה, פקודות שמתבצעות לעיתים רחוקות או במהירות יתקבלו עדיפות על פני פקודות שמתבצעות זמן רב.

פועלת לנצח ברקע עד להשבתה.

סיכום

כיתות בתצוגת עץ

enum CommandScheduler.HostState

Enums של סטטוסים שונים של מארח  

קונסטרוקטורים גלויים לכולם

CommandScheduler()

יצירת CommandScheduler.

שיטות ציבוריות

boolean addCommand(String[] args)

הוספת פקודה למתזמן.

void addCommandFile(String cmdFilePath, extraArgs)

הוספת כל הפקודות מהקובץ הנתון לתזמון

void await()

ממתינים שהמתזמן יתחיל לפעול, כולל המתנה להשלמת ההעברה מ-TF הישן, אם רלוונטי.

static TradefedDelegator checkDelegation(String[] args)

יוצרים משתמש שנותן לאחרים הרשאה לניהול שיחות על סמך שורת הפקודה כדי לבדוק אם צריך להעביר את ההרצה.

void completeHandover()

האות הזה מעדכן את מתזמן הפקודות שרצף ההעברה שהתחיל הושלם, ושהוא צריך לאתחל מחדש את מנהל הצד המרוחק ביציאת ברירת המחדל.

static createReleaseMap(IInvocationContext context, Throwable e)

יוצרים מפה של מצב המכשירים כדי שאפשר יהיה לשחרר אותם בצורה מתאימה.

ISandbox createSandbox()

יוצרים ISandbox שבו ההפעלה תשתמש כדי להריץ את הפונקציה.

void displayCommandQueue(PrintWriter printWriter)

הפלט של פרטי ניפוי באגים מפורטים על סטטוס התור לביצוע פקודות.

void displayCommandsInfo(PrintWriter printWriter, String regex)

הפלט הוא רשימה של הפקודות הנוכחיות.

void displayInvocationsInfo(PrintWriter printWriter)

הצגת רשימה של ההפעלות הנוכחיות.

void dumpCommandsXml(PrintWriter printWriter, String regex)

יצירת גרסת dump של קובץ ה-xml המורחב של הפקודה עם כל הערכים של Option שצוינו לכל הפקודות הנוכחיות.

void execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)

ביצוע הפקודה ישירות במכשיר שכבר הוקצה.

void execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)

הקצאה ישירה של מכשיר והפעלת פקודה בלי להוסיף אותה לתור הפקודות באמצעות IInvocationContext שכבר קיים.

void execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)

הקצאה ישירה של מכשיר והפעלת פקודה בלי להוסיף אותה לתור הפקודות.

CommandFileWatcher getCommandFileWatcher()

אחזור של CommandFileWatcher המתאים לתזמון הזה

int getExecutingCommandCount()

הפונקציה מחזירה את מספר הפקודות במצב ביצוע.

CommandScheduler.HostState getHostState()
String getInvocationInfo(int invocationId)

החזרת המידע על קריאה באמצעות ציון מזהה הקריאה.

CommandRunner.ExitCode getLastInvocationExitCode()

הפונקציה מחזירה את קוד השגיאה של ההפעלה האחרונה שפועלה.

Throwable getLastInvocationThrowable()

מחזירים את Throwable מהקריאה האחרונה שהופעל.

int getReadyCommandCount()

הפונקציה מחזירה את מספר הפקודות במצב 'מוכן' בתור.

long getShutdownTimeout()
void handoverInitiationComplete()

המערכת מעדכנת את מתזמן הפקודות שהשלימה את החלפת המכשירים והפקודות שבשימוש, ושהיא יכולה להתחיל לתזמן את הפעולה.

boolean handoverShutdown(int handoverPort)

מפעיל shutdown() ומעביר את התהליך לתהליך אחר של Tradefed באותו מארח.

void notifyFileChanged(File cmdFile, extraArgs)
void removeAllCommands()

הסרת כל הפקודות מהמתזמן

void run()

בלוק הביצוע הראשי של ה-thread הזה.

void setClearcutClient(ClearcutClient client)

הגדרת הלקוח לדיווח על נתוני רתמה

boolean shouldShutdownOnCmdfileError()

הפונקציה מחזירה את הערך True אם צריך לכבות את מתזמן הפקודות בגלל שגיאות בפקודות

void shutdown()

ניסיון להשבית את מתזמן הפקודות בצורה תקינה.

void shutdownHard(boolean killAdb)

ניסיון לכבות בכוח את מתזמן הפקודות.

void shutdownHard()

ניסיון לכבות בכוח את מתזמן הפקודות.

void shutdownOnEmpty()

דומה לפקודה shutdown(), אבל במקום זאת היא ממתינה להרצה של כל הפקודות לפני היציאה.

void start()

הפעלת מתזמן האירועים, כולל הגדרת הרישום ביומן, אתחול של DeviceManager וכו'

boolean stopInvocation(ITestInvocation invocation)

איך מפסיקים קריאה שפועלת.

boolean stopInvocation(int invocationId, String cause)

כדי להפסיק קריאה שפועלת, מציינים את המזהה שלה.

שיטות מוגנות

void cleanUp()

סגירת היומנים וביצוע פעולות ניקוי אחרות הנדרשות לפני היציאה.

IConfiguration createConfiguration(String[] args)
IInvocationContext createInvocationContext()
IConfigurationFactory getConfigFactory()

שיטת המפעל לקבלת הפניה ל-IConfigurationFactory

IDeviceManager getDeviceManager()

שיטת המפעל לקבלת הפניה ל-IDeviceManager

TradefedFeatureServer getFeatureServer()
IHostOptions getHostOptions()
IKeyStoreClient getKeyStoreClient()

אחזור של IKeyStoreClient באמצעות IKeyStoreFactory שהוצהר ב-IGlobalConfiguration, או null אם לא הוגדר אף אחד.

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 static  createReleaseMap (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

getHostState

public CommandScheduler.HostState getHostState ()

החזרות
CommandScheduler.HostState

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 לשימוש

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

החזרות
TradefedFeatureServer

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 של ההפעלה יסתיימו.