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

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

เพิ่มคำสั่ง

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

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

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

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

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

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

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

เพิ่มคำสั่งไฟล์

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: นิพจน์ทั่วไปที่ควรจับคู่คำสั่งเพื่อให้พิมพ์ หากเป็นค่าว่าง ระบบจะพิมพ์คำสั่งทั้งหมด

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 หากเป็นค่าว่าง ระบบจะส่งออกคำสั่งทั้งหมด

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 หากคำสั่งไม่ถูกต้อง
NoDeviceException หากไม่มีอุปกรณ์ที่จะใช้

execCommand

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

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

พารามิเตอร์
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener ที่จะได้รับข้อมูล

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

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

โยน
ConfigurationException หากคำสั่งไม่ถูกต้อง
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

จำนวนคำสั่ง get Ready

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

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

คุณสามารถปิดการทำงานบนว่าง

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