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, List<String> 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, List<ITestDevice> 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)

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

default void setMaxPollTime(long polling)
default void setPrintSchedulingWarning(boolean print)
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 หากแยกวิเคราะห์คำสั่งไม่ได้

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                List<String> extraArgs)

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

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

extraArgs List: List ของอาร์กิวเมนต์ String ที่จะต่อท้ายแต่ละคำสั่งที่แยกวิเคราะห์ จากไฟล์ เว้นว่างไว้ได้ แต่ต้องไม่ใช่ค่า Null

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

ดูเพิ่มเติม:

รอ

public abstract void await ()

รอให้ตัวกำหนดเวลางานเริ่มทำงาน รวมถึงรอให้การส่งต่อจาก TF เวอร์ชันเก่าเสร็จสมบูรณ์ (หากมี)

ส่ง
InterruptedException

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

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

displayCommandsInfo

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

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

พารามิเตอร์
printWriter PrintWriter: PrintWriter ที่จะส่งออก

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

displayInvocationsInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

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

พารามิเตอร์
printWriter PrintWriter: PrintWriter ที่จะส่งออก

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

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

พารามิเตอร์
printWriter PrintWriter: 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 หากคำสั่งไม่ถูกต้อง
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 หากคำสั่งไม่ถูกต้อง

execCommand

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

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

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

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

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

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

ส่ง
ConfigurationException หากคำสั่งไม่ถูกต้อง

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

การคืนสินค้า
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

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

การคืนสินค้า
int

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

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

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

การคืนสินค้า
boolean

เข้าร่วม

public abstract void join ()

รอให้ตัวกำหนดเวลาเสร็จสมบูรณ์

ส่ง
InterruptedException

ดูเพิ่มเติม:

เข้าร่วม

public abstract void join (long millis)

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

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

ส่ง
InterruptedException

ดูเพิ่มเติม:

removeAllCommands

public abstract void removeAllCommands ()

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

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

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

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

setMaxPollTime

public void setMaxPollTime (long polling)

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

setPrintSchedulingWarning

public void setPrintSchedulingWarning (boolean print)

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

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