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)

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

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 if command was added successfully. ค่าที่ 2 คือรหัสเครื่องมือติดตามคำสั่งที่ทราบ(ค่าที่ไม่เป็นลบ) หากเพิ่มคำสั่งสำเร็จ ให้แสดงผล 0 เมื่อเพิ่มคำสั่งสำหรับอุปกรณ์ทั้งหมด หรือ -1 ในกรณีอื่นๆ

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

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

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

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

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

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

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

รอ

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 หากคำสั่งไม่ถูกต้อง
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, 
                 devices, 
                String[] args)

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

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

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

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

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

เข้าร่วม

public abstract void join (long millis)

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

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

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

removeAllCommands

public abstract void removeAllCommands ()

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

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

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

พารามิเตอร์
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