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) 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, devices, String[] args) 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 หากเพิ่มคำสั่งสำเร็จ ค่าที่สองคือรหัสตัวติดตามคำสั่งที่รู้จัก (ค่าที่ไม่ใช่ค่าลบ) หากเพิ่มคำสั่งสำเร็จ จะส่งคืนค่า 0 เมื่อมีการเพิ่มคำสั่งสำหรับอุปกรณ์ทั้งหมด มิฉะนั้น -1

ขว้าง
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 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 long execCommand (IInvocationContext context, 
                ICommandScheduler.IScheduledInvocationListener listener, 
                String[] args)

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

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

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

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

การส่งคืน
long

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

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

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

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

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

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

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

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

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

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

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

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

devices : ERROR(/List ) ERROR(/List ) ใช้

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

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

ขว้าง
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

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

คืนค่าเป็นจริงหากอุปกรณ์ถูกใช้โดยเธรดการร้องขอที่ใช้งานอยู่

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

การส่งคืน
boolean

เข้าร่วม

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

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

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

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

ปิดตัวลง

public abstract void shutdown (boolean notifyStop)

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

พารามิเตอร์
notifyStop boolean : หากเป็นจริง แจ้งการร้องขอการปิดระบบ TF

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

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 หากการใช้งานไม่รองรับสิ่งนี้

หยุดการจัดกำหนดการ

public void stopScheduling ()

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