ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


ตัวกำหนดเวลาสำหรับการรันคำสั่ง TradeFederation

สรุป

คลาสที่ซ้อนกัน

interface ICommandScheduler.IScheduledInvocationListener

Listener สำหรับเหตุการณ์การร้องขอเมื่อการร้องขอเสร็จสิ้น

วิธีการสาธารณะ

abstract boolean addCommand (String[] args)

เพิ่มคำสั่งให้กับตัวกำหนดเวลา

abstract void addCommandFile (String cmdFile, extraArgs) addCommandFile (String cmdFile, extraArgs)

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

abstract void await ()

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

abstract void completeHandover ()

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

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 void execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)

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

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

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

abstract void execCommand ( ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, 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 void handoverInitiationComplete ()

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

abstract boolean handoverShutdown (int handoverPort)

เริ่มต้น shutdown() และส่งมอบให้กับกระบวนการแลกเปลี่ยนอื่นบนโฮสต์เดียวกันนี้

abstract void join ()

รอให้ตัวกำหนดเวลาดำเนินการให้เสร็จสิ้น

abstract void join (long millis)

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

abstract void removeAllCommands ()

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

abstract void setClearcutClient (ClearcutClient client)

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

abstract boolean shouldShutdownOnCmdfileError ()

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

abstract void shutdown ()

พยายามปิดตัวกำหนดตารางเวลาคำสั่งอย่างสวยงาม

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)

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

วิธีการสาธารณะ

เพิ่มคำสั่ง

public abstract boolean addCommand (String[] args)

เพิ่มคำสั่งให้กับตัวกำหนดเวลา

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

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

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

การส่งคืน
boolean true หากเพิ่มคำสั่งสำเร็จ

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

ดูสิ่งนี้ด้วย:

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

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

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

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

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

ดูสิ่งนี้ด้วย:

รอ

public abstract void await ()

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

เสร็จสิ้นการส่งมอบ

public abstract void completeHandover ()

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

แสดงคำสั่งคิว

public abstract void displayCommandQueue (PrintWriter printWriter)

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

แสดงคำสั่งข้อมูล

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

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

พารามิเตอร์
printWriter PrintWriter : ERROR(/PrintWriter) ที่จะส่งออกไป

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

แสดงข้อมูลการร้องขอ

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 ถูกดัมพ์ หากเป็นค่าว่าง คำสั่งทั้งหมดจะถูกทิ้ง

ดำเนินการคำสั่ง

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

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

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

listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener ที่ต้องแจ้งให้ทราบ

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

ขว้าง
ConfigurationException หากคำสั่งไม่ถูกต้อง
NoDeviceException หากไม่มีอุปกรณ์ให้ใช้

ดำเนินการคำสั่ง

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

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

พารามิเตอร์
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener ที่ต้องแจ้งให้ทราบ

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

ขว้าง
ConfigurationException หากคำสั่งไม่ถูกต้อง
NoDeviceException หากไม่มีอุปกรณ์ให้ใช้

ดำเนินการคำสั่ง

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

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

พารามิเตอร์
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener ที่ต้องแจ้งให้ทราบ

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

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

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

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

รับ CommandFileWatcher ที่เหมาะสมสำหรับตัวกำหนดเวลานี้

การส่งคืน
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

ส่งกลับจำนวนคำสั่งในสถานะดำเนินการ

การส่งคืน
int

รับInvocationInfo

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 จากการร้องขอครั้งล่าสุดที่ทำงาน ส่งคืนค่าว่างหากไม่มีการโยน

การส่งคืน
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

ส่งกลับจำนวนคำสั่งในสถานะพร้อมในคิว

การส่งคืน
int

การส่งมอบการเริ่มต้นเสร็จสมบูรณ์

public abstract void handoverInitiationComplete ()

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

การส่งมอบการปิดระบบ

public abstract boolean handoverShutdown (int handoverPort)

เริ่มต้น shutdown() และส่งมอบให้กับกระบวนการแลกเปลี่ยนอื่นบนโฮสต์เดียวกันนี้

ตัวกำหนดเวลาจะแจ้งกระบวนการแลกเปลี่ยนระยะไกลที่กำลังฟังพอร์ตของอุปกรณ์ที่ปล่อยว่างเมื่อพร้อมใช้งาน

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

การส่งคืน
boolean true หากการเริ่มต้นการส่งมอบสำเร็จ มิฉะนั้นจะ false

เข้าร่วม

public abstract void join ()

รอให้ตัวกำหนดเวลาดำเนินการให้เสร็จสิ้น

ดูสิ่งนี้ด้วย:

เข้าร่วม

public abstract void join (long millis)

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

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

ดูสิ่งนี้ด้วย:

ลบคำสั่งทั้งหมด

public abstract void removeAllCommands ()

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

ตั้งค่าClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

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

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

ควรShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

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

การส่งคืน
boolean

ปิดตัวลง

public abstract void shutdown ()

พยายามปิดตัวกำหนดตารางเวลาคำสั่งอย่างสวยงาม

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

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

ปิดเครื่องอย่างหนัก

public abstract void shutdownHard (boolean killAdb)

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

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

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

ปิดเครื่องอย่างหนัก

public abstract void shutdownHard ()

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

ปิดระบบOnEmpty

public abstract void shutdownOnEmpty ()

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

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

เริ่ม

public abstract void start ()

เริ่ม ICommandScheduler

จะต้องถูกเรียกก่อนที่จะเรียกวิธีอื่น

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

หยุดการร้องขอ

public abstract boolean stopInvocation (int invocationId, 
                String cause)

หยุดการเรียกใช้งานโดยการระบุรหัส

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

cause String : สาเหตุของการหยุดการร้องขอ

การส่งคืน
boolean เป็นจริงหากการร้องขอถูกหยุด มิฉะนั้นจะเป็นเท็จ

ขว้าง
UnsupportedOperationException หากการใช้งานไม่รองรับสิ่งนี้

หยุดการร้องขอ

public boolean stopInvocation (int invocationId)

หยุดการเรียกใช้งานโดยการระบุรหัส

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

การส่งคืน
boolean เป็นจริงหากการร้องขอถูกหยุด มิฉะนั้นจะเป็นเท็จ

ขว้าง
UnsupportedOperationException หากการใช้งานไม่รองรับสิ่งนี้

หยุดการร้องขอ

public abstract boolean stopInvocation (ITestInvocation invocation)

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

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

การส่งคืน
boolean เป็นจริงหากการร้องขอถูกหยุด มิฉะนั้นจะเป็นเท็จ

ขว้าง
UnsupportedOperationException หากการใช้งานไม่รองรับสิ่งนี้