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

public class CommandScheduler
extends Object implements ICommandScheduler

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


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

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

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

סיכום

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

CommandScheduler()

ייווצר CommandScheduler.

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

Pair<Boolean, Integer> addCommand(String[] args)

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

void addCommandFile(String cmdFilePath, extraArgs)

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

void await()

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

static TradefedDelegator checkDelegation(String[] args)

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

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 לכל הפקודות הנוכחיות.

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

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

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

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

long 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()
boolean isDeviceInInvocationThread(ITestDevice device)

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

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

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

void run()

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

void setClearcutClient(ClearcutClient client)

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

boolean shouldShutdownOnCmdfileError()

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

void shutdown(boolean notifyStop)

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

void shutdownHard(boolean killAdb)

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

void shutdownHard()

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

void shutdownOnEmpty()

דומה ל-shutdown(), אבל ימתין עד שכל הפקודות יבוצעו לפני היציאה.

void start()

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

boolean stopInvocation(ITestInvocation invocation)

הפסקת ההפעלה הרצה.

boolean stopInvocation(int invocationId, String cause)

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

void stopScheduling()

האפשרות הזו מפסיקה לתזמן ולקבל בדיקות חדשות, אבל לא מפסיקה אתטרייד.

שיטות מוגנות

void cleanUp()

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

IConfiguration createConfiguration(String[] args)
IInvocationContext createInvocationContext()
void dryRunCommandReporting(ICommandScheduler.IScheduledInvocationListener handler, IConfiguration config)

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

long execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args)
IConfigurationFactory getConfigFactory()

שיטת היצרן לקבלת הפניה אל IConfigurationFactory

DeviceManagementGrpcServer getDeviceManagementServer()
IDeviceManager getDeviceManager()

שיטת היצרן לקבלת הפניה אל IDeviceManager

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

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

TestInvocationManagementServer getTestInvocationManagementServer()
void initLogging()

הפעלת יומן ה-ddmlib.

boolean isShutdown()
void processReadyCommands(IDeviceManager manager)

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

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

public CommandScheduler ()

ייווצר CommandScheduler.

הערה: חובה לקרוא להתחלה לפני השימוש.

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

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: נתיב מערכת הקבצים של קובץ comand

extraArgs : ERROR(/List) מתוך String ארגומנטים לצירוף לכל פקודה שנותחה מקובץ. השדה יכול להיות ריק אבל לא יכול להיות null.

קליעות
ConfigurationException

לחכות

public void await ()

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

האצלת ביקורת

public static TradefedDelegator checkDelegation (String[] args)

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

פרמטרים
args String

החזרות
TradefedDelegator

קליעות
com.android.tradefed.config.Configuration וכל החריגות
ConfigurationException

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

פקודה

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

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

isDeviceInvocationThread

public boolean isDeviceInInvocationThread (ITestDevice device)

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

פרמטרים
device ITestDevice

החזרות
boolean

בכיבוי

public boolean isShuttingDown ()

החזרות
boolean

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

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

פרמטרים
notifyStop boolean: אם הערך הוא True, המערכת מודיעה על הפעלות של סגירת TF.

כיבוי קשיח

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

הפסקת התזמון

public void stopScheduling ()

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

שיטות מוגנות

ניקוי

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)

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

פרמטרים
handler ICommandScheduler.IScheduledInvocationListener: ERROR(/InvocationEventHandler) כדי לדווח על אירועים לאימות בהרצה יבשה.

config IConfiguration

החזרות
void true אם הפקודה היא הרצה יבשה, אחרת false.

קליעות
com.android.tradefed.config.Configuration וכל החריגות
ConfigurationException

פקודה

protected long execCommand (IInvocationContext context, 
                ICommandScheduler.IScheduledInvocationListener listener, 
                 reservedDevices, 
                String[] args)

פרמטרים
context IInvocationContext

listener ICommandScheduler.IScheduledInvocationListener

reservedDevices

args String

החזרות
long

קליעות
ConfigurationException

getConfigמפעל

protected IConfigurationFactory getConfigFactory ()

שיטת היצרן לקבלת הפניה אל IConfigurationFactory

החזרות
IConfigurationFactory IConfigurationFactory לשימוש

getDeviceManagementServer

protected DeviceManagementGrpcServer getDeviceManagementServer ()

החזרות
DeviceManagementGrpcServer

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

getTestInvocationManagementServer

protected TestInvocationManagementServer getTestInvocationManagementServer ()

החזרות
TestInvocationManagementServer

initLogging

protected void initLogging ()

הפעלת יומן ה-ddmlib.

נחשפו כך שבדיקות היחידה יוכלו לדמות.

כיבוי

protected boolean isShutdown ()

החזרות
boolean

ProcessReadyCommands

protected void processReadyCommands (IDeviceManager manager)

פרמטרים
manager IDeviceManager