ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


ตัวกำหนดเวลาสำหรับเรียกใช้คำสั่ง TradeFederation

สรุป

ชั้นเรียนที่ซ้อนกัน

interface ICommandScheduler.IScheduledInvocationListener

Listener สําหรับเหตุการณ์การเรียกใช้เมื่อการเรียกใช้เสร็จสมบูรณ์ 

เมธอดสาธารณะ

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

เพิ่มคําสั่งลงในเครื่องจัดตารางเวลา

abstract void addCommandFile(String cmdFile, extraArgs)

เพิ่มคําสั่งทั้งหมดจากไฟล์ที่ระบุลงในตัวตั้งเวลา

abstract void await()

รอให้เครื่องมือจัดตารางเวลาเริ่มทํางาน รวมถึงรอให้ TF คนเก่าส่งมอบงานจนเสร็จสิ้น หากมี

abstract void displayCommandQueue(PrintWriter printWriter)

แสดงข้อมูลการแก้ไขข้อบกพร่องโดยละเอียดเกี่ยวกับสถานะของคิวการดําเนินการของคําสั่ง

abstract void displayCommandsInfo(PrintWriter printWriter, String regex)

แสดงรายการคําสั่งปัจจุบัน

abstract void displayInvocationsInfo(PrintWriter printWriter)

แสดงรายการการเรียกใช้ปัจจุบัน

abstract void dumpCommandsXml(PrintWriter printWriter, String regex)

วางไฟล์ XML ที่ขยายสำหรับคำสั่งที่มีค่า Option ทั้งหมดที่ระบุสำหรับคำสั่งปัจจุบันทั้งหมด

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

จัดสรรอุปกรณ์และดำเนินการตามคําสั่งโดยตรงโดยไม่ต้องเพิ่มลงในคิวคําสั่ง ใช้ IInvocationContext ที่มีอยู่

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

จัดสรรอุปกรณ์โดยตรงและดำเนินการตามคำสั่งโดยไม่ต้องเพิ่มลงในคิวคำสั่ง

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

เรียกใช้คําสั่งในอุปกรณ์ที่จัดสรรไว้แล้วโดยตรง

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

เรียกใช้คําสั่งในอุปกรณ์ที่จัดสรรไว้แล้วโดยตรง

abstract CommandFileWatcher getCommandFileWatcher()

รับ CommandFileWatcher ที่เหมาะสมสำหรับเครื่องมือตั้งเวลานี้

abstract int getExecutingCommandCount()

แสดงผลจํานวนคําสั่งที่อยู่ในสถานะกำลังดำเนินการ

abstract String getInvocationInfo(int invocationId)

แสดงข้อมูลเกี่ยวกับการเรียกใช้โดยระบุรหัสการเรียกใช้

abstract CommandRunner.ExitCode getLastInvocationExitCode()

แสดงรหัสข้อผิดพลาดของการเรียกใช้ครั้งล่าสุดที่ทำงาน

abstract Throwable getLastInvocationThrowable()

แสดงผล Throwable จากคําเรียกใช้ครั้งล่าสุดที่เรียกใช้

abstract int getReadyCommandCount()

แสดงผลจํานวนคําสั่งที่อยู่ในสถานะพร้อมใช้งานในคิว

abstract boolean isDeviceInInvocationThread(ITestDevice device)

แสดงผลเป็น "จริง" หากมีการใช้อุปกรณ์โดยเธรดการเรียกใช้ที่ใช้งานอยู่

abstract void join()

รอให้เครื่องมือตั้งเวลาทำงานเสร็จ

abstract void join(long millis)

รอให้ตัวจัดตารางทำงานเสร็จหรือหมดเวลาหลังจากระยะเวลาที่ระบุเป็นมิลลิวินาที

abstract void removeAllCommands()

นำคําสั่งทั้งหมดออกจากตัวตั้งเวลา

abstract void setClearcutClient(ClearcutClient client)

ตั้งค่าไคลเอ็นต์ให้รายงานข้อมูลสายบังเหียน

abstract boolean shouldShutdownOnCmdfileError()

แสดงค่า "จริง" หากเราจำเป็นต้องปิดตัวตั้งเวลาเมื่อเกิดข้อผิดพลาดเกี่ยวกับคำสั่ง

default void shutdown()

พยายามปิดตัวจัดตารางการเรียกใช้คำสั่งอย่างราบรื่น

abstract void shutdown(boolean notifyStop)

พยายามปิดตัวจัดตารางการเรียกใช้คำสั่งอย่างราบรื่น

abstract void shutdownHard(boolean killAdb)

พยายามปิดตัวจัดตารางการเรียกใช้คำสั่ง

abstract void shutdownHard()

พยายามปิดตัวจัดตารางการเรียกใช้คำสั่ง

abstract void shutdownOnEmpty()

คล้ายกับ shutdown() แต่ระบบจะรอให้คำสั่งทั้งหมดทำงานก่อนออก

abstract void start()

เริ่ม ICommandScheduler

abstract boolean stopInvocation(int invocationId, String cause)

หยุดการเรียกใช้ที่ทำงานอยู่โดยระบุรหัส

default boolean stopInvocation(int invocationId)

หยุดการเรียกใช้ที่ทำงานอยู่โดยระบุรหัส

abstract boolean stopInvocation(ITestInvocation invocation)

หยุดการเรียกใช้ที่ทำงานอยู่

default void stopScheduling()

หยุดกําหนดเวลาและยอมรับการทดสอบใหม่ แต่ไม่หยุด Tradefed

เมธอดสาธารณะ

addCommand

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

เพิ่มคําสั่งลงในเครื่องจัดตารางเวลา

โดยพื้นฐานแล้ว คําสั่งคืออินสแตนซ์ของการกำหนดค่าที่จะเรียกใช้และอาร์กิวเมนต์ที่เกี่ยวข้อง

หากระบุอาร์กิวเมนต์ "--help" ระบบจะแสดงข้อความช่วยเหลือสําหรับการกําหนดค่าไปยัง stdout ไม่เช่นนั้น ระบบจะเพิ่มการกําหนดค่าลงในคิวเพื่อเรียกใช้

พารามิเตอร์
args String: อาร์กิวเมนต์การกําหนดค่า

คิกรีเทิร์น
Pair<Boolean, Integer> คู่ค่า ค่าแรกคือบูลีน true หากเพิ่มคําสั่งสําเร็จ ค่าที่ 2 คือรหัสเครื่องมือติดตามคําสั่งที่ทราบ(ค่าที่ไม่ใช่ค่าลบ) หากเพิ่มคําสั่งสําเร็จ ให้แสดงผล 0 เมื่อเพิ่มคําสั่งสําหรับอุปกรณ์ทั้งหมด ไม่เช่นนั้น ให้แสดงผล -1

การโยน
ConfigurationException แยกวิเคราะห์คําสั่ง if ไม่ได้

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

เพิ่มคําสั่งทั้งหมดจากไฟล์ที่ระบุลงในตัวตั้งเวลา

พารามิเตอร์
cmdFile String: เส้นทางระบบไฟล์ของไฟล์คำสั่ง

extraArgs : ERROR(/List) ของอาร์กิวเมนต์ String เพื่อเพิ่มต่อท้ายคำสั่งแต่ละรายการที่แยกวิเคราะห์จากไฟล์ อาจเป็นค่าว่างได้ แต่ไม่ควรเป็นค่า Null

การโยน
ConfigurationException หากแยกวิเคราะห์ไฟล์คําสั่งไม่ได้

ดูเพิ่มเติม

await

public abstract void await ()

รอให้เครื่องมือจัดตารางเวลาเริ่มทํางาน รวมถึงรอให้ TF คนเก่าส่งมอบงานจนเสร็จสิ้น หากมี

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

แสดงข้อมูลการแก้ไขข้อบกพร่องโดยละเอียดเกี่ยวกับสถานะของคิวการดําเนินการของคําสั่ง

displayCommandsInfo

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

แสดงรายการคําสั่งปัจจุบัน

พารามิเตอร์
printWriter PrintWriter: ERROR(/PrintWriter) ที่จะแสดงผล

regex String: นิพจน์ทั่วไปที่ควรจับคู่กับคำสั่งเพื่อพิมพ์ หากเป็นค่า Null ระบบจะพิมพ์คําสั่งทั้งหมด

displayInvocationsInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

แสดงรายการการเรียกใช้ปัจจุบัน

พารามิเตอร์
printWriter PrintWriter: ERROR(/PrintWriter) ที่จะแสดงผล

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

วางไฟล์ XML ที่ขยายสำหรับคำสั่งที่มีค่า Option ทั้งหมดที่ระบุสำหรับคำสั่งปัจจุบันทั้งหมด

พารามิเตอร์
printWriter PrintWriter: ERROR(/PrintWriter) สำหรับแสดงผลสถานะ

regex String: นิพจน์ทั่วไปที่ควรจับคู่กับคําสั่งเพื่อให้ระบบแสดงผลไฟล์ XML หากเป็นค่า Null ระบบจะแสดงคำสั่งทั้งหมด

execCommand

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

จัดสรรอุปกรณ์และดำเนินการตามคําสั่งโดยตรงโดยไม่ต้องเพิ่มลงในคิวคําสั่ง ใช้ IInvocationContext ที่มีอยู่

พารามิเตอร์
context IInvocationContext: IInvocationContext ที่มีอยู่

listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener ที่จะได้รับการแจ้งเตือน

args String: อาร์กิวเมนต์คำสั่ง

คิกรีเทิร์น
long

การโยน
ConfigurationException if command was invalid
NoDeviceException หากไม่มีอุปกรณ์ที่จะใช้

execCommand

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

จัดสรรอุปกรณ์โดยตรงและดำเนินการตามคำสั่งโดยไม่ต้องเพิ่มลงในคิวคำสั่ง

พารามิเตอร์
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener ที่จะได้รับการแจ้งเตือน

args String: อาร์กิวเมนต์คำสั่ง

คิกรีเทิร์น
long รหัสการเรียกใช้ของคําสั่งที่ตั้งเวลาไว้

การโยน
ConfigurationException if command was invalid
NoDeviceException หากไม่มีอุปกรณ์ที่จะใช้

execCommand

public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                ITestDevice device, 
                String[] args)

เรียกใช้คําสั่งในอุปกรณ์ที่จัดสรรไว้แล้วโดยตรง

พารามิเตอร์
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener ที่จะได้รับการแจ้งเตือน

device ITestDevice: ITestDevice ที่จะใช้

args String: อาร์กิวเมนต์คำสั่ง

คิกรีเทิร์น
long รหัสการเรียกใช้ของคําสั่งที่ตั้งเวลาไว้

การโยน
ConfigurationException if command was invalid

execCommand

public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                 devices, 
                String[] args)

เรียกใช้คําสั่งในอุปกรณ์ที่จัดสรรไว้แล้วโดยตรง

พารามิเตอร์
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener ที่จะได้รับการแจ้งเตือน

devices : ERROR(/List) ที่จะใช้

args String: อาร์กิวเมนต์คำสั่ง

คิกรีเทิร์น
long รหัสการเรียกใช้ของคําสั่งที่ตั้งเวลาไว้

การโยน
ConfigurationException if command was invalid

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

รับ CommandFileWatcher ที่เหมาะสมสำหรับเครื่องมือตั้งเวลานี้

คิกรีเทิร์น
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

แสดงผลจํานวนคําสั่งที่อยู่ในสถานะกำลังดำเนินการ

คิกรีเทิร์น
int

getInvocationInfo

public abstract String getInvocationInfo (int invocationId)

แสดงข้อมูลเกี่ยวกับการเรียกใช้โดยระบุรหัสการเรียกใช้

พารามิเตอร์
invocationId int: รหัสติดตามของการเรียกใช้

คิกรีเทิร์น
String String ที่มีข้อมูลเกี่ยวกับการเรียกใช้

getLastInvocationExitCode

public abstract CommandRunner.ExitCode getLastInvocationExitCode ()

แสดงรหัสข้อผิดพลาดของการเรียกใช้ครั้งล่าสุดที่ทำงาน แสดงผล 0 (ไม่พบข้อผิดพลาด) หากยังไม่มีการเรียกใช้

คิกรีเทิร์น
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

แสดงผล Throwable จากคําเรียกใช้ครั้งล่าสุดที่เรียกใช้ แสดงผล Null หากไม่มีรายการที่ทำให้เกิดข้อยกเว้น

คิกรีเทิร์น
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

แสดงผลจํานวนคําสั่งที่อยู่ในสถานะพร้อมใช้งานในคิว

คิกรีเทิร์น
int

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

แสดงผลเป็น "จริง" หากมีการใช้อุปกรณ์โดยเธรดการเรียกใช้ที่ใช้งานอยู่

พารามิเตอร์
device ITestDevice

คิกรีเทิร์น
boolean

เข้าร่วม

public abstract void join ()

รอให้เครื่องมือตั้งเวลาทำงานเสร็จ

ดูเพิ่มเติม

เข้าร่วม

public abstract void join (long millis)

รอให้ตัวจัดตารางทำงานเสร็จหรือหมดเวลาหลังจากระยะเวลาที่ระบุเป็นมิลลิวินาที

พารามิเตอร์
millis long

ดูเพิ่มเติม

removeAllCommands

public abstract void removeAllCommands ()

นำคําสั่งทั้งหมดออกจากตัวตั้งเวลา

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

ตั้งค่าไคลเอ็นต์ให้รายงานข้อมูลสายบังเหียน

พารามิเตอร์
client ClearcutClient

shouldShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

แสดงค่า "จริง" หากเราจำเป็นต้องปิดตัวตั้งเวลาเมื่อเกิดข้อผิดพลาดเกี่ยวกับคำสั่ง

คิกรีเทิร์น
boolean

การปิดเครื่อง

public void shutdown ()

พยายามปิดตัวจัดตารางการเรียกใช้คำสั่งอย่างราบรื่น

ล้างคําสั่งที่รอการทดสอบ และขอให้การเรียกใช้ทั้งหมดที่ดําเนินการอยู่ปิดลงอย่างราบรื่น

หลังจากเรียกใช้การปิดระบบแล้ว ลูปหลักของตัวจัดเวลาจะรอให้การเรียกใช้ทั้งหมดที่อยู่ระหว่างดำเนินการเสร็จสมบูรณ์ก่อนที่จะออกอย่างสมบูรณ์

การปิดเครื่อง

public abstract void shutdown (boolean notifyStop)

พยายามปิดตัวจัดตารางการเรียกใช้คำสั่งอย่างราบรื่น

พารามิเตอร์
notifyStop boolean: หากเป็น "จริง" ระบบจะแจ้งให้ทราบถึงการเรียกใช้การปิด TF

shutdownHard

public abstract void shutdownHard (boolean killAdb)

พยายามปิดตัวจัดตารางการเรียกใช้คำสั่ง

คล้ายกับ shutdown() แต่อาจยกเลิกการเชื่อมต่อ adb ด้วย เพื่อพยายาม "กระตุ้น" การเรียกใช้ที่กำลังดำเนินอยู่ให้เสร็จสมบูรณ์เร็วขึ้น

พารามิเตอร์
killAdb boolean

shutdownHard

public abstract void shutdownHard ()

พยายามปิดตัวจัดตารางการเรียกใช้คำสั่ง เหมือนกับ shutdownHard(true)

shutdownOnEmpty

public abstract void shutdownOnEmpty ()

คล้ายกับ shutdown() แต่ระบบจะรอให้คำสั่งทั้งหมดทำงานก่อนออก

โปรดทราบว่าหากคําสั่งใดอยู่ในโหมดวนซ้ำ ตัวตั้งเวลาจะไม่ออก

เริ่มต้น

public abstract void start ()

เริ่ม ICommandScheduler

ต้องเรียกใช้ก่อนเรียกใช้เมธอดอื่นๆ

จะทํางานจนกว่าจะมีการเรียก shutdown() โปรดดูThread.start()

stopInvocation

public abstract boolean stopInvocation (int invocationId, 
                String cause)

หยุดการเรียกใช้ที่ทำงานอยู่โดยระบุรหัส

พารามิเตอร์
invocationId int: รหัสติดตามของการเรียกใช้

cause String: สาเหตุที่หยุดการเรียกใช้

คิกรีเทิร์น
boolean เป็นจริงหากการเรียกใช้หยุดลงแล้ว เป็นเท็จหากไม่

การโยน
UnsupportedOperationException หากการติดตั้งใช้งานไม่รองรับการดำเนินการนี้

stopInvocation

public boolean stopInvocation (int invocationId)

หยุดการเรียกใช้ที่ทำงานอยู่โดยระบุรหัส

พารามิเตอร์
invocationId int

คิกรีเทิร์น
boolean เป็นจริงหากการเรียกใช้หยุดลงแล้ว เป็นเท็จหากไม่

การโยน
UnsupportedOperationException หากการติดตั้งใช้งานไม่รองรับการดำเนินการนี้

stopInvocation

public abstract boolean stopInvocation (ITestInvocation invocation)

หยุดการเรียกใช้ที่ทำงานอยู่

พารามิเตอร์
invocation ITestInvocation

คิกรีเทิร์น
boolean เป็นจริงหากการเรียกใช้หยุดลงแล้ว เป็นเท็จหากไม่

การโยน
UnsupportedOperationException หากการติดตั้งใช้งานไม่รองรับการดำเนินการนี้

stopScheduling

public void stopScheduling ()

หยุดกําหนดเวลาและยอมรับการทดสอบใหม่ แต่ไม่หยุด Tradefed การดำเนินการนี้มีไว้เพื่อเปิดใช้การปิดระบบ 2 ขั้นตอน โดยเราจะหยุดการทดสอบที่ทำงานอยู่ทั้งหมดก่อน แล้วจึงสิ้นสุดกระบวนการ Tradefed