מתזמן המשימות

public class CommandScheduler
extends Object implements ICommandScheduler

JavaScript.lang.Object
com.android.tradefed.command.Commandתזמוןr


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

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

פועל ברקע באופן סופי עד לכיבוי.

סיכום

מחלקות מקוננות

enum CommandScheduler.HostState

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

בנאים ציבוריים

CommandScheduler()

ייווצר CommandScheduler.

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

boolean addCommand(String[] args)

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

void addCommandFile(String cmdFilePath, extraArgs)

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

void await()

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

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)

מציגים את קובץ ה-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()

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

long getShutdownTimeout()
void handoverInitiationComplete()

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

boolean handoverShutdown(int handoverPort)

הפעלת shutdown() והעברה לתהליך אחר שבוצע עבורו סחר משותף באותו המארח הזה.

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

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

void run()

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

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()

צריך להמתין עד שכל שרשורי ההפעלה יסתיימו.

בנאים ציבוריים

מתזמן המשימות

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 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)

מציגים את קובץ ה-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

getHostState

public CommandScheduler.HostState getHostState ()

החזרות
CommandScheduler.HostState

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 void start ()

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

הפסקת ההפעלה

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

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

החזרות
TradefedFeatureServer

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 ()

צריך להמתין עד שכל שרשורי ההפעלה יסתיימו.