CommandScheduler
public class CommandScheduler
extends Object
implements ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
ตัวกำหนดเวลาสำหรับการรันคำสั่ง TradeFederation ในอุปกรณ์ที่มีอยู่ทั้งหมด
จะพยายามจัดลำดับความสำคัญของคำสั่งให้รันตามจำนวนการรันทั้งหมดของเวลาดำเนินการ เช่น คำสั่งที่รันไม่บ่อยหรือเร็วจะได้รับการจัดลำดับความสำคัญมากกว่าคำสั่งที่รันระยะยาว ทำงานในพื้นหลังตลอดไปจนกว่าจะปิดตัวลงสรุป
คลาสที่ซ้อนกัน | |
---|---|
enum | CommandScheduler.HostState สถานะต่างๆ ของโฮสต์ |
ผู้รับเหมาก่อสร้างสาธารณะ | |
---|---|
CommandScheduler () สร้าง |
วิธีการสาธารณะ | |
---|---|
boolean | addCommand (String[] args) เพิ่มคำสั่งให้กับตัวกำหนดเวลา |
void | addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs) เพิ่มคำสั่งทั้งหมดจากไฟล์ที่กำหนดไปยังตัวกำหนดเวลา |
void | await () รอให้ตัวกำหนดเวลาเริ่มทำงาน รวมถึงการรอการส่งมอบจาก TF เก่าให้เสร็จสิ้น หากมี |
static TradefedDelegator | checkDelegation (String[] args) สร้างผู้รับมอบสิทธิ์ตามบรรทัดคำสั่งเพื่อดูว่าเราจำเป็นต้องมอบหมายการเรียกใช้หรือไม่ |
void | completeHandover () แจ้งตัวกำหนดตารางเวลาคำสั่งว่าลำดับการส่งมอบที่เริ่มต้นเสร็จสมบูรณ์แล้ว และควรเตรียมใช้งานตัวจัดการระยะไกลอีกครั้งบนพอร์ตดีฟอลต์ |
static | createReleaseMap (IInvocationContext context, Throwable e) สร้างแผนที่สถานะอุปกรณ์เพื่อให้สามารถเผยแพร่ได้อย่างเหมาะสม |
ISandbox | createSandbox () สร้าง |
void | displayCommandQueue (PrintWriter printWriter) ส่งออกข้อมูลการดีบักโดยละเอียดเกี่ยวกับสถานะของคิวการดำเนินการคำสั่ง |
void | displayCommandsInfo (PrintWriter printWriter, String regex) ส่งออกรายการคำสั่งปัจจุบัน |
void | displayInvocationsInfo (PrintWriter printWriter) แสดงรายการคำร้องขอปัจจุบัน |
void | dumpCommandsXml (PrintWriter printWriter, String regex) ดัมพ์ไฟล์ xml ที่ขยายสำหรับคำสั่งโดยมีค่า |
void | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args) รันคำสั่งโดยตรงบนอุปกรณ์ที่ได้รับการจัดสรรแล้ว |
void | execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args) จัดสรรอุปกรณ์โดยตรงและดำเนินการคำสั่งโดยไม่ต้องเพิ่มลงในคิวคำสั่งโดยใช้ |
void | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, String[] args) จัดสรรอุปกรณ์โดยตรงและดำเนินการคำสั่งโดยไม่ต้องเพิ่มลงในคิวคำสั่ง |
CommandFileWatcher | getCommandFileWatcher () รับ |
int | getExecutingCommandCount () ส่งกลับจำนวนคำสั่งในสถานะดำเนินการ |
CommandScheduler.HostState | getHostState () |
String | getInvocationInfo (int invocationId) ส่งคืนข้อมูลเกี่ยวกับการร้องขอโดยระบุรหัสการร้องขอ |
CommandRunner.ExitCode | getLastInvocationExitCode () ส่งกลับรหัสข้อผิดพลาดของการเรียกใช้ครั้งล่าสุดที่ทำงาน |
Throwable | getLastInvocationThrowable () ส่งคืน |
int | getReadyCommandCount () ส่งกลับจำนวนคำสั่งในสถานะพร้อมในคิว |
long | getShutdownTimeout () |
void | handoverInitiationComplete () แจ้งตัวกำหนดเวลาคำสั่งว่าการแลกเปลี่ยนอุปกรณ์และคำสั่งที่ใช้งานครั้งแรกเสร็จสมบูรณ์แล้ว และสามารถเริ่มการดำเนินการกำหนดเวลาได้ |
boolean | handoverShutdown (int handoverPort) เริ่มต้น |
void | notifyFileChanged (File cmdFile, extraArgs) notifyFileChanged (File cmdFile, extraArgs) |
void | removeAllCommands () ลบคำสั่งทั้งหมดออกจากตัวกำหนดตารางเวลา |
void | run () บล็อกการดำเนินการหลักของเธรดนี้ |
void | setClearcutClient (ClearcutClient client) ตั้งค่าไคลเอ็นต์ให้รายงานข้อมูลสายรัด |
boolean | shouldShutdownOnCmdfileError () คืนค่าเป็นจริงหากเราจำเป็นต้องปิดตัวกำหนดเวลาเนื่องจากข้อผิดพลาดของคำสั่ง |
void | shutdown () พยายามปิดตัวกำหนดตารางเวลาคำสั่งอย่างสวยงาม |
void | shutdownHard (boolean killAdb) พยายามปิดตัวกำหนดตารางเวลาคำสั่งอย่างเข้มแข็ง |
void | shutdownHard () พยายามปิดตัวกำหนดตารางเวลาคำสั่งอย่างเข้มแข็ง |
void | shutdownOnEmpty () คล้ายกับ |
void | start () เริ่มตัวกำหนดเวลารวมถึงการตั้งค่าการบันทึก เริ่มต้นของ |
boolean | stopInvocation ( ITestInvocation invocation) หยุดการร้องขอที่ทำงานอยู่ |
boolean | stopInvocation (int invocationId, String cause) หยุดการเรียกใช้งานโดยการระบุรหัส |
วิธีการที่ได้รับการป้องกัน | |
---|---|
void | cleanUp () ปิดบันทึกและทำการล้างข้อมูลที่จำเป็นอื่นๆ ก่อนที่เราจะออก |
IConfiguration | createConfiguration (String[] args) |
IInvocationContext | createInvocationContext () |
IConfigurationFactory | getConfigFactory () วิธีการจากโรงงานสำหรับการอ้างอิงไปยัง |
IDeviceManager | getDeviceManager () วิธีการจากโรงงานสำหรับการอ้างอิงถึง |
TradefedFeatureServer | getFeatureServer () |
IHostOptions | getHostOptions () |
IKeyStoreClient | getKeyStoreClient () ดึง |
void | initLogging () เริ่มต้นบันทึก ddmlib |
boolean | isShutdown () |
boolean | isShuttingDown () |
void | processReadyCommands ( IDeviceManager manager) |
void | waitForAllInvocationThreads () รอจนกว่าเธรดการร้องขอทั้งหมดจะเสร็จสมบูรณ์ |
ผู้รับเหมาก่อสร้างสาธารณะ
CommandScheduler
public CommandScheduler ()
สร้าง CommandScheduler
วิธีการสาธารณะ
เพิ่มคำสั่ง
public boolean addCommand (String[] args)
เพิ่มคำสั่งให้กับตัวกำหนดเวลา
คำสั่งนั้นเป็นอินสแตนซ์ของการกำหนดค่าที่จะรันและอาร์กิวเมนต์ที่เกี่ยวข้อง หากระบุอาร์กิวเมนต์ "--help" ข้อความช่วยเหลือสำหรับการกำหนดค่าจะถูกส่งไปยัง stdout มิฉะนั้น การกำหนดค่าจะถูกเพิ่มลงในคิวเพื่อรันพารามิเตอร์ | |
---|---|
args | String : อาร์กิวเมนต์การกำหนดค่า |
การส่งคืน | |
---|---|
boolean | true หากเพิ่มคำสั่งสำเร็จ |
ขว้าง | |
---|---|
ConfigurationException |
addCommandFile
public void addCommandFile (String cmdFilePath,extraArgs)
เพิ่มคำสั่งทั้งหมดจากไฟล์ที่กำหนดไปยังตัวกำหนดเวลา
พารามิเตอร์ | |
---|---|
cmdFilePath | String : เส้นทางระบบไฟล์ของไฟล์ comand |
extraArgs | ERROR(/List) ของอาร์กิวเมนต์ String ที่จะต่อท้ายแต่ละคำสั่งที่แยกวิเคราะห์จากไฟล์ สามารถเว้นว่างได้แต่ไม่ควรเป็นค่าว่าง |
ขว้าง | |
---|---|
ConfigurationException |
รอ
public void await ()
รอให้ตัวกำหนดเวลาเริ่มทำงาน รวมถึงการรอการส่งมอบจาก TF เก่าให้เสร็จสิ้น หากมี
ตรวจสอบการมอบหมาย
public static TradefedDelegator checkDelegation (String[] args)
สร้างผู้รับมอบสิทธิ์ตามบรรทัดคำสั่งเพื่อดูว่าเราจำเป็นต้องมอบหมายการเรียกใช้หรือไม่
พารามิเตอร์ | |
---|---|
args | String |
การส่งคืน | |
---|---|
TradefedDelegator |
ขว้าง | |
---|---|
ConfigurationException |
เสร็จสิ้นการส่งมอบ
public void completeHandover ()
แจ้งตัวกำหนดตารางเวลาคำสั่งว่าลำดับการส่งมอบที่เริ่มต้นเสร็จสมบูรณ์แล้ว และควรเตรียมใช้งานตัวจัดการระยะไกลอีกครั้งบนพอร์ตดีฟอลต์
createReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
สร้างแผนที่สถานะอุปกรณ์เพื่อให้สามารถเผยแพร่ได้อย่างเหมาะสม
พารามิเตอร์ | |
---|---|
context | IInvocationContext |
e | Throwable |
การส่งคืน | |
---|---|
สร้างแซนด์บ็อกซ์
public ISandbox createSandbox ()
สร้าง ISandbox
ที่การเรียกใช้จะใช้ในการทำงาน
การส่งคืน | |
---|---|
ISandbox |
แสดงคำสั่งคิว
public void displayCommandQueue (PrintWriter printWriter)
ส่งออกข้อมูลการดีบักโดยละเอียดเกี่ยวกับสถานะของคิวการดำเนินการคำสั่ง
แสดงคำสั่งข้อมูล
public void displayCommandsInfo (PrintWriter printWriter, String regex)
ส่งออกรายการคำสั่งปัจจุบัน
พารามิเตอร์ | |
---|---|
printWriter | PrintWriter : ERROR(/PrintWriter) ที่จะส่งออกไป |
regex | String : นิพจน์ทั่วไปที่ควรจับคู่คำสั่งเพื่อที่จะพิมพ์ หากเป็นค่าว่าง ระบบจะพิมพ์คำสั่งทั้งหมด |
แสดงข้อมูลการร้องขอ
public void displayInvocationsInfo (PrintWriter printWriter)
แสดงรายการคำร้องขอปัจจุบัน
พารามิเตอร์ | |
---|---|
printWriter | PrintWriter : ERROR(/PrintWriter) ที่จะส่งออกไป |
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter, String regex)
ดัมพ์ไฟล์ xml ที่ขยายสำหรับคำสั่งโดยมีค่า Option
ทั้งหมดที่ระบุไว้สำหรับคำสั่งปัจจุบันทั้งหมด
พารามิเตอร์ | |
---|---|
printWriter | PrintWriter : ERROR(/PrintWriter) ที่จะส่งออกสถานะไปที่ |
regex | String : นิพจน์ทั่วไปที่ควรจับคู่คำสั่งเพื่อให้ไฟล์ xml ถูกดัมพ์ หากเป็นค่าว่าง คำสั่งทั้งหมดจะถูกทิ้ง |
ดำเนินการคำสั่ง
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
รันคำสั่งโดยตรงบนอุปกรณ์ที่ได้รับการจัดสรรแล้ว
พารามิเตอร์ | |
---|---|
listener | ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener ที่ต้องแจ้งให้ทราบ |
device | ITestDevice : ITestDevice ที่จะใช้ |
args | String : อาร์กิวเมนต์คำสั่ง |
ขว้าง | |
---|---|
ConfigurationException |
ดำเนินการคำสั่ง
public void execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
จัดสรรอุปกรณ์โดยตรงและดำเนินการคำสั่งโดยไม่ต้องเพิ่มลงในคิวคำสั่งโดยใช้ IInvocationContext
ที่มีอยู่แล้ว
พารามิเตอร์ | |
---|---|
context | IInvocationContext : IInvocationContext ที่มีอยู่ |
listener | ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener ที่ต้องแจ้งให้ทราบ |
args | String : อาร์กิวเมนต์คำสั่ง |
ขว้าง | |
---|---|
ConfigurationException | |
NoDeviceException |
ดำเนินการคำสั่ง
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
จัดสรรอุปกรณ์โดยตรงและดำเนินการคำสั่งโดยไม่ต้องเพิ่มลงในคิวคำสั่ง
พารามิเตอร์ | |
---|---|
listener | ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener ที่ต้องแจ้งให้ทราบ |
args | String : อาร์กิวเมนต์คำสั่ง |
ขว้าง | |
---|---|
ConfigurationException | |
NoDeviceException |
getCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
รับ CommandFileWatcher
ที่เหมาะสมสำหรับตัวกำหนดเวลานี้
การส่งคืน | |
---|---|
CommandFileWatcher |
getExecutingCommandCount
public int getExecutingCommandCount ()
ส่งกลับจำนวนคำสั่งในสถานะดำเนินการ
การส่งคืน | |
---|---|
int |
รับInvocationInfo
public String getInvocationInfo (int invocationId)
ส่งคืนข้อมูลเกี่ยวกับการร้องขอโดยระบุรหัสการร้องขอ
พารามิเตอร์ | |
---|---|
invocationId | int : รหัสติดตามของการร้องขอ |
การส่งคืน | |
---|---|
String | String ที่มีข้อมูลเกี่ยวกับการร้องขอ |
getLastInvocationExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
ส่งกลับรหัสข้อผิดพลาดของการเรียกใช้ครั้งล่าสุดที่ทำงาน ส่งคืนค่า 0 (ไม่มีข้อผิดพลาด) หากยังไม่มีการเรียกใช้งาน
การส่งคืน | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
ส่งคืน Throwable
จากการร้องขอครั้งล่าสุดที่ทำงาน ส่งคืนค่าว่างหากไม่มีการโยน
การส่งคืน | |
---|---|
Throwable |
getReadyCommandCount
public int getReadyCommandCount ()
ส่งกลับจำนวนคำสั่งในสถานะพร้อมในคิว
การส่งคืน | |
---|---|
int |
getShutdownTimeout
public long getShutdownTimeout ()
การส่งคืน | |
---|---|
long |
การส่งมอบการเริ่มต้นเสร็จสมบูรณ์
public void handoverInitiationComplete ()
แจ้งตัวกำหนดเวลาคำสั่งว่าการแลกเปลี่ยนอุปกรณ์และคำสั่งที่ใช้งานครั้งแรกเสร็จสมบูรณ์แล้ว และสามารถเริ่มการดำเนินการกำหนดเวลาได้
การส่งมอบการปิดระบบ
public boolean handoverShutdown (int handoverPort)
เริ่มต้น shutdown()
และส่งมอบให้กับกระบวนการแลกเปลี่ยนอื่นบนโฮสต์เดียวกันนี้
พารามิเตอร์ | |
---|---|
handoverPort | int |
การส่งคืน | |
---|---|
boolean | true หากการเริ่มต้นการส่งมอบสำเร็จ มิฉะนั้นจะ false |
แจ้ง FileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
พารามิเตอร์ | |
---|---|
cmdFile | File |
extraArgs |
ลบคำสั่งทั้งหมด
public void removeAllCommands ()
ลบคำสั่งทั้งหมดออกจากตัวกำหนดตารางเวลา
วิ่ง
public void run ()
บล็อกการดำเนินการหลักของเธรดนี้
ตั้งค่าClearcutClient
public void setClearcutClient (ClearcutClient client)
ตั้งค่าไคลเอ็นต์ให้รายงานข้อมูลสายรัด
พารามิเตอร์ | |
---|---|
client | ClearcutClient |
ควรShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
คืนค่าเป็นจริงหากเราจำเป็นต้องปิดตัวกำหนดเวลาเนื่องจากข้อผิดพลาดของคำสั่ง
การส่งคืน | |
---|---|
boolean |
ปิดตัวลง
public void shutdown ()
พยายามปิดตัวกำหนดตารางเวลาคำสั่งอย่างสวยงาม
ล้างคำสั่งที่รอการทดสอบ และขอให้การเรียกใช้ทั้งหมดที่กำลังดำเนินการปิดลงอย่างสวยงาม หลังจากเรียกการปิดระบบแล้ว ลูปหลักของตัวกำหนดตารางเวลาจะรอให้การเรียกใช้ทั้งหมดที่ดำเนินการอยู่เสร็จสิ้นก่อนที่จะออกจากการทำงานโดยสมบูรณ์ปิดเครื่องอย่างหนัก
public void shutdownHard (boolean killAdb)
พยายามปิดตัวกำหนดตารางเวลาคำสั่งอย่างเข้มแข็ง
คล้ายกับ shutdown()
แต่จะเลือกที่จะฆ่าการเชื่อมต่อ adb ด้วยเพื่อพยายาม 'สร้างแรงบันดาลใจ' การเรียกใช้ที่กำลังดำเนินอยู่เพื่อให้เสร็จสมบูรณ์เร็วขึ้น
พารามิเตอร์ | |
---|---|
killAdb | boolean |
ปิดเครื่องอย่างหนัก
public void shutdownHard ()
พยายามปิดตัวกำหนดตารางเวลาคำสั่งอย่างเข้มแข็ง เช่นเดียวกับShutdownHard(จริง)
ปิดระบบOnEmpty
public void shutdownOnEmpty ()
คล้ายกับ shutdown()
แต่จะรอให้คำสั่งทั้งหมดถูกดำเนินการก่อนที่จะออก
เริ่ม
public void start ()
เริ่มตัวกำหนดเวลารวมถึงการตั้งค่าการบันทึก เริ่มต้นของ DeviceManager
เป็นต้น
หยุดการร้องขอ
public boolean stopInvocation (ITestInvocation invocation)
หยุดการร้องขอที่ทำงานอยู่
พารามิเตอร์ | |
---|---|
invocation | ITestInvocation |
การส่งคืน | |
---|---|
boolean | เป็นจริงหากการร้องขอถูกหยุด มิฉะนั้นจะเป็นเท็จ |
หยุดการร้องขอ
public boolean stopInvocation (int invocationId, String cause)
หยุดการเรียกใช้งานโดยการระบุรหัส
พารามิเตอร์ | |
---|---|
invocationId | int : รหัสติดตามของการร้องขอ |
cause | String : สาเหตุของการหยุดการร้องขอ |
การส่งคืน | |
---|---|
boolean | เป็นจริงหากการร้องขอถูกหยุด มิฉะนั้นจะเป็นเท็จ |
วิธีการที่ได้รับการป้องกัน
ทำความสะอาด
protected void cleanUp ()
ปิดบันทึกและทำการล้างข้อมูลที่จำเป็นอื่นๆ ก่อนที่เราจะออก
เปิดเผยเพื่อให้การทดสอบหน่วยสามารถเยาะเย้ยได้
สร้างการกำหนดค่า
protected IConfiguration createConfiguration (String[] args)
พารามิเตอร์ | |
---|---|
args | String |
การส่งคืน | |
---|---|
IConfiguration |
ขว้าง | |
---|---|
ConfigurationException |
createInvocationContext
protected IInvocationContext createInvocationContext ()
การส่งคืน | |
---|---|
IInvocationContext |
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
วิธีการจากโรงงานสำหรับการอ้างอิงไปยัง IConfigurationFactory
การส่งคืน | |
---|---|
IConfigurationFactory | IConfigurationFactory ที่จะใช้ |
รับDeviceManager
protected IDeviceManager getDeviceManager ()
วิธีการจากโรงงานสำหรับการอ้างอิงถึง IDeviceManager
การส่งคืน | |
---|---|
IDeviceManager | IDeviceManager ที่จะใช้ |
getFeatureServer
protected TradefedFeatureServer getFeatureServer ()
การส่งคืน | |
---|---|
TradefedFeatureServer |
getHostOptions
protected IHostOptions getHostOptions ()
การส่งคืน | |
---|---|
IHostOptions |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
ดึง IKeyStoreClient
โดยใช้ IKeyStoreFactory
ที่ประกาศใน IGlobalConfiguration
หรือ null หากไม่มีการกำหนดไว้
การส่งคืน | |
---|---|
IKeyStoreClient | IKeyStoreClient |
initLogging
protected void initLogging ()
เริ่มต้นบันทึก ddmlib
เปิดเผยเพื่อให้การทดสอบหน่วยสามารถเยาะเย้ยได้
คือปิดเครื่อง
protected boolean isShutdown ()
การส่งคืน | |
---|---|
boolean |
กำลังปิดเครื่อง
protected boolean isShuttingDown ()
การส่งคืน | |
---|---|
boolean |
กระบวนการ ReadyCommands
protected void processReadyCommands (IDeviceManager manager)
พารามิเตอร์ | |
---|---|
manager | IDeviceManager |
waitForAllInvocationThreads
protected void waitForAllInvocationThreads ()
รอจนกว่าเธรดการร้องขอทั้งหมดจะเสร็จสมบูรณ์
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2023-12-01 UTC