CommandScheduler
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
Trình lập lịch biểu để chạy các lệnh TradeFederation trên tất cả thiết bị có sẵn.
Sẽ cố gắng ưu tiên các lệnh để chạy dựa trên tổng số lần chạy của thời gian thực thi. Ví dụ: các lệnh chạy không thường xuyên hoặc chạy nhanh sẽ được ưu tiên hơn các lệnh chạy lâu.
Chạy mãi mãi ở chế độ nền cho đến khi tắt máy.
Tóm tắt
Lớp lồng ghép | |
---|---|
enum |
CommandScheduler.HostState
Các enum của nhiều trạng thái của máy chủ lưu trữ |
Hàm khởi tạo công khai | |
---|---|
CommandScheduler()
Tạo |
Phương thức công khai | |
---|---|
boolean
|
addCommand(String[] args)
Thêm một lệnh vào trình lập lịch biểu. |
void
|
addCommandFile(String cmdFilePath,
Thêm tất cả lệnh từ tệp đã cho vào trình lập lịch biểu |
void
|
await()
Chờ trình lập lịch biểu bắt đầu chạy, bao gồm cả việc chờ quá trình chuyển giao từ TF cũ hoàn tất nếu có. |
static
TradefedDelegator
|
checkDelegation(String[] args)
Tạo một đối tượng uỷ quyền dựa trên dòng lệnh để xem chúng ta có cần uỷ quyền chạy hay không. |
void
|
completeHandover()
Thông báo cho trình lập lịch biểu lệnh rằng một trình tự chuyển đổi đã bắt đầu đã hoàn tất và trình lập lịch biểu lệnh sẽ khởi chạy lại trình quản lý từ xa trên cổng mặc định. |
static
|
createReleaseMap(IInvocationContext context, Throwable e)
Tạo bản đồ trạng thái thiết bị để có thể phát hành thiết bị một cách phù hợp. |
ISandbox
|
createSandbox()
Tạo một |
void
|
displayCommandQueue(PrintWriter printWriter)
Xuất thông tin gỡ lỗi chi tiết về trạng thái của hàng đợi thực thi lệnh. |
void
|
displayCommandsInfo(PrintWriter printWriter, String regex)
Xuất danh sách các lệnh hiện tại. |
void
|
displayInvocationsInfo(PrintWriter printWriter)
Hiển thị danh sách các lệnh gọi hiện tại. |
void
|
dumpCommandsXml(PrintWriter printWriter, String regex)
Kết xuất tệp xml mở rộng cho lệnh với tất cả giá trị |
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Trực tiếp thực thi lệnh trên thiết bị đã được phân bổ. |
void
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Trực tiếp phân bổ một thiết bị và thực thi một lệnh mà không cần thêm thiết bị đó vào hàng đợi lệnh bằng cách sử dụng một |
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Trực tiếp phân bổ một thiết bị và thực thi một lệnh mà không cần thêm thiết bị đó vào hàng đợi lệnh. |
CommandFileWatcher
|
getCommandFileWatcher()
Lấy |
int
|
getExecutingCommandCount()
Trả về số lượng Lệnh ở trạng thái thực thi. |
CommandScheduler.HostState
|
getHostState()
|
String
|
getInvocationInfo(int invocationId)
Trả về thông tin về một lệnh gọi bằng cách chỉ định mã lệnh gọi. |
CommandRunner.ExitCode
|
getLastInvocationExitCode()
Trả về mã lỗi của lệnh gọi gần đây nhất đã chạy. |
Throwable
|
getLastInvocationThrowable()
Trả về |
int
|
getReadyCommandCount()
Trả về số lượng Lệnh ở trạng thái sẵn sàng trong hàng đợi. |
long
|
getShutdownTimeout()
|
void
|
handoverInitiationComplete()
Thông báo cho trình lập lịch biểu lệnh rằng quá trình trao đổi ban đầu của các thiết bị và lệnh đang sử dụng đã hoàn tất và có thể bắt đầu lên lịch hoạt động. |
boolean
|
handoverShutdown(int handoverPort)
Bắt đầu một |
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
Xoá tất cả lệnh khỏi trình lập lịch biểu |
void
|
run()
Khối thực thi chính của luồng này. |
void
|
setClearcutClient(ClearcutClient client)
Đặt ứng dụng báo cáo dữ liệu harness |
boolean
|
shouldShutdownOnCmdfileError()
Trả về true nếu chúng ta cần tắt trình lập lịch biểu khi gặp lỗi lệnh |
void
|
shutdown()
Cố gắng tắt trình lập lịch biểu lệnh một cách êm ái. |
void
|
shutdownHard(boolean killAdb)
Cố gắng tắt buộc trình lập lịch biểu lệnh. |
void
|
shutdownHard()
Cố gắng tắt buộc trình lập lịch biểu lệnh. |
void
|
shutdownOnEmpty()
Tương tự như |
void
|
start()
Bắt đầu trình lập lịch biểu, bao gồm cả việc thiết lập tính năng ghi nhật ký, khởi tạo |
boolean
|
stopInvocation(ITestInvocation invocation)
Dừng một lệnh gọi đang chạy. |
boolean
|
stopInvocation(int invocationId, String cause)
Dừng một lệnh gọi đang chạy bằng cách chỉ định mã nhận dạng của lệnh gọi đó. |
Phương thức được bảo vệ | |
---|---|
void
|
cleanUp()
Đóng nhật ký và thực hiện mọi thao tác dọn dẹp cần thiết khác trước khi thoát. |
IConfiguration
|
createConfiguration(String[] args)
|
IInvocationContext
|
createInvocationContext()
|
IConfigurationFactory
|
getConfigFactory()
Phương thức nhà máy để tham chiếu đến |
IDeviceManager
|
getDeviceManager()
Phương thức nhà máy để tham chiếu đến |
TradefedFeatureServer
|
getFeatureServer()
|
IHostOptions
|
getHostOptions()
|
IKeyStoreClient
|
getKeyStoreClient()
Tìm nạp |
void
|
initLogging()
Khởi động nhật ký ddmlib. |
boolean
|
isShutdown()
|
boolean
|
isShuttingDown()
|
void
|
processReadyCommands(IDeviceManager manager)
|
void
|
waitForAllInvocationThreads()
Chờ cho đến khi tất cả luồng gọi hoàn tất. |
Hàm khởi tạo công khai
CommandScheduler
public CommandScheduler ()
Tạo CommandScheduler
.
Lưu ý: Bạn phải gọi start trước khi sử dụng.
Phương thức công khai
addCommand
public boolean addCommand (String[] args)
Thêm một lệnh vào trình lập lịch biểu.
Về cơ bản, lệnh là một thực thể của cấu hình để chạy và các đối số liên quan.
Nếu bạn chỉ định đối số "--help", văn bản trợ giúp cho cấu hình sẽ được xuất ra stdout. Nếu không, cấu hình sẽ được thêm vào hàng đợi để chạy.
Tham số | |
---|---|
args |
String : đối số cấu hình. |
Giá trị trả về | |
---|---|
boolean |
true nếu lệnh được thêm thành công |
Gửi | |
---|---|
ConfigurationException |
addCommandFile
public void addCommandFile (String cmdFilePath,extraArgs)
Thêm tất cả lệnh từ tệp đã cho vào trình lập lịch biểu
Tham số | |
---|---|
cmdFilePath |
String : đường dẫn hệ thống tệp của tệp lệnh |
extraArgs |
: ERROR(/List) của các đối số String để thêm vào mỗi lệnh được phân tích cú pháp từ tệp. Có thể để trống nhưng không được để giá trị rỗng. |
Gửi | |
---|---|
ConfigurationException |
await
public void await ()
Chờ trình lập lịch biểu bắt đầu chạy, bao gồm cả việc chờ quá trình chuyển giao từ TF cũ hoàn tất nếu có.
checkDelegation
public static TradefedDelegator checkDelegation (String[] args)
Tạo một đối tượng uỷ quyền dựa trên dòng lệnh để xem chúng ta có cần uỷ quyền chạy hay không.
Tham số | |
---|---|
args |
String |
Giá trị trả về | |
---|---|
TradefedDelegator |
Gửi | |
---|---|
ConfigurationException |
completeHandover
public void completeHandover ()
Thông báo cho trình lập lịch biểu lệnh rằng một trình tự chuyển đổi đã bắt đầu đã hoàn tất và trình lập lịch biểu lệnh sẽ khởi chạy lại trình quản lý từ xa trên cổng mặc định.
createReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
Tạo bản đồ trạng thái thiết bị để có thể phát hành thiết bị một cách thích hợp.
Tham số | |
---|---|
context |
IInvocationContext |
e |
Throwable |
Giá trị trả về | |
---|---|
|
createSandbox
public ISandbox createSandbox ()
Tạo ISandbox
mà lệnh gọi sẽ sử dụng để chạy.
Giá trị trả về | |
---|---|
ISandbox |
displayCommandQueue
public void displayCommandQueue (PrintWriter printWriter)
Xuất thông tin gỡ lỗi chi tiết về trạng thái của hàng đợi thực thi lệnh.
displayCommandsInfo
public void displayCommandsInfo (PrintWriter printWriter, String regex)
Xuất danh sách các lệnh hiện tại.
Tham số | |
---|---|
printWriter |
PrintWriter : ERROR(/PrintWriter) để xuất ra. |
regex |
String : biểu thức chính quy để so khớp các lệnh cần in. Nếu giá trị này là rỗng, thì tất cả lệnh sẽ được in.
|
displayInvocationsInfo
public void displayInvocationsInfo (PrintWriter printWriter)
Hiển thị danh sách các lệnh gọi hiện tại.
Tham số | |
---|---|
printWriter |
PrintWriter : ERROR(/PrintWriter) để xuất ra.
|
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter, String regex)
Kết xuất tệp xml mở rộng cho lệnh với tất cả giá trị Option
được chỉ định cho tất cả các lệnh hiện tại.
Tham số | |
---|---|
printWriter |
PrintWriter : ERROR(/PrintWriter) để xuất trạng thái. |
regex |
String : biểu thức chính quy mà các lệnh cần được so khớp để tệp XML được kết xuất. Nếu giá trị này là rỗng, thì tất cả lệnh sẽ được kết xuất.
|
execCommand
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Trực tiếp thực thi lệnh trên thiết bị đã được phân bổ.
Tham số | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener cần được thông báo |
device |
ITestDevice : ITestDevice cần sử dụng |
args |
String : đối số lệnh |
Gửi | |
---|---|
ConfigurationException |
execCommand
public void execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Trực tiếp phân bổ một thiết bị và thực thi một lệnh mà không cần thêm thiết bị đó vào hàng đợi lệnh bằng cách sử dụng một IInvocationContext
hiện có.
Tham số | |
---|---|
context |
IInvocationContext : một IInvocationContext hiện có. |
listener |
ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener cần được thông báo |
args |
String : đối số lệnh |
Gửi | |
---|---|
ConfigurationException |
|
NoDeviceException |
execCommand
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Trực tiếp phân bổ một thiết bị và thực thi một lệnh mà không cần thêm thiết bị đó vào hàng đợi lệnh.
Tham số | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener cần được thông báo |
args |
String : đối số lệnh |
Gửi | |
---|---|
ConfigurationException |
|
NoDeviceException |
getCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
Lấy CommandFileWatcher
thích hợp cho trình lập lịch biểu này
Giá trị trả về | |
---|---|
CommandFileWatcher |
getExecutingCommandCount
public int getExecutingCommandCount ()
Trả về số lượng Lệnh ở trạng thái thực thi.
Giá trị trả về | |
---|---|
int |
getHostState
public CommandScheduler.HostState getHostState ()
Giá trị trả về | |
---|---|
CommandScheduler.HostState |
getInvocationInfo
public String getInvocationInfo (int invocationId)
Trả về thông tin về một lệnh gọi bằng cách chỉ định mã lệnh gọi.
Tham số | |
---|---|
invocationId |
int : mã theo dõi của lệnh gọi. |
Giá trị trả về | |
---|---|
String |
String chứa thông tin về lệnh gọi.
|
getLastInvocationExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
Trả về mã lỗi của lệnh gọi gần đây nhất đã chạy. Trả về 0 (không có lỗi) nếu chưa có lệnh gọi nào chạy.
Giá trị trả về | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
Trả về Throwable
từ lệnh gọi gần đây nhất đã chạy.
Trả về giá trị rỗng nếu không có đối tượng có thể gửi.
Giá trị trả về | |
---|---|
Throwable |
getReadyCommandCount
public int getReadyCommandCount ()
Trả về số lượng Lệnh ở trạng thái sẵn sàng trong hàng đợi.
Giá trị trả về | |
---|---|
int |
getShutdownTimeout
public long getShutdownTimeout ()
Giá trị trả về | |
---|---|
long |
handoverInitiationComplete
public void handoverInitiationComplete ()
Thông báo cho trình lập lịch biểu lệnh rằng quá trình trao đổi ban đầu của các thiết bị và lệnh đang sử dụng đã hoàn tất và có thể bắt đầu lên lịch hoạt động.
handoverShutdown
public boolean handoverShutdown (int handoverPort)
Bắt đầu một shutdown()
và chuyển giao cho một quy trình tradefed khác trên cùng một máy chủ lưu trữ này.
Trình lập lịch biểu sẽ thông báo cho quy trình tradefed từ xa đang nghe trên cổng của các thiết bị đã giải phóng khi các thiết bị đó có sẵn.
Tham số | |
---|---|
handoverPort |
int |
Giá trị trả về | |
---|---|
boolean |
true nếu quá trình bắt đầu chuyển giao thành công, false nếu không
|
notifyFileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
Tham số | |
---|---|
cmdFile |
File |
extraArgs |
|
removeAllCommands
public void removeAllCommands ()
Xoá tất cả lệnh khỏi trình lập lịch biểu
chạy
public void run ()
Khối thực thi chính của luồng này.
setClearcutClient
public void setClearcutClient (ClearcutClient client)
Đặt ứng dụng báo cáo dữ liệu harness
Tham số | |
---|---|
client |
ClearcutClient |
shouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Trả về true nếu chúng ta cần tắt trình lập lịch biểu khi gặp lỗi lệnh
Giá trị trả về | |
---|---|
boolean |
tắt
public void shutdown ()
Cố gắng tắt trình lập lịch biểu lệnh một cách êm ái.
Xoá các lệnh đang chờ kiểm thử và yêu cầu tất cả các lệnh gọi đang diễn ra tắt một cách êm ái.
Sau khi lệnh tắt được gọi, vòng lặp chính của trình lập lịch biểu sẽ đợi tất cả các lệnh gọi đang diễn ra hoàn tất trước khi thoát hoàn toàn.
shutdownHard
public void shutdownHard (boolean killAdb)
Cố gắng tắt buộc trình lập lịch biểu lệnh.
Tương tự như shutdown()
, nhưng cũng có thể xoá kết nối adb (không bắt buộc) để cố gắng "khuyến khích" các lệnh gọi đang diễn ra hoàn tất nhanh hơn.
Tham số | |
---|---|
killAdb |
boolean |
shutdownHard
public void shutdownHard ()
Cố gắng tắt buộc trình lập lịch biểu lệnh. Tương tự như shutdownHard(true).
shutdownOnEmpty
public void shutdownOnEmpty ()
Tương tự như shutdown()
, nhưng sẽ chờ tất cả các lệnh được thực thi trước khi thoát.
Xin lưu ý rằng nếu có bất kỳ lệnh nào ở chế độ lặp, trình lập lịch biểu sẽ không bao giờ thoát.
start
public void start ()
Bắt đầu trình lập lịch biểu, bao gồm cả việc thiết lập tính năng ghi nhật ký, khởi tạo DeviceManager
, v.v.
stopInvocation
public boolean stopInvocation (ITestInvocation invocation)
Dừng một lệnh gọi đang chạy.
Tham số | |
---|---|
invocation |
ITestInvocation |
Giá trị trả về | |
---|---|
boolean |
true nếu lệnh gọi đã bị dừng, false nếu không |
stopInvocation
public boolean stopInvocation (int invocationId, String cause)
Dừng một lệnh gọi đang chạy bằng cách chỉ định mã nhận dạng của lệnh gọi đó.
Tham số | |
---|---|
invocationId |
int : mã theo dõi của lệnh gọi. |
cause |
String : nguyên nhân dừng lệnh gọi. |
Giá trị trả về | |
---|---|
boolean |
true nếu lệnh gọi đã bị dừng, false nếu không |
Phương thức được bảo vệ
cleanUp
protected void cleanUp ()
Đóng nhật ký và thực hiện mọi thao tác dọn dẹp cần thiết khác trước khi thoát.
Được hiển thị để các kiểm thử đơn vị có thể mô phỏng.
createConfiguration
protected IConfiguration createConfiguration (String[] args)
Tham số | |
---|---|
args |
String |
Giá trị trả về | |
---|---|
IConfiguration |
Gửi | |
---|---|
ConfigurationException |
createInvocationContext
protected IInvocationContext createInvocationContext ()
Giá trị trả về | |
---|---|
IInvocationContext |
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
Phương thức nhà máy để tham chiếu đến IConfigurationFactory
Giá trị trả về | |
---|---|
IConfigurationFactory |
IConfigurationFactory cần sử dụng
|
getDeviceManager
protected IDeviceManager getDeviceManager ()
Phương thức nhà máy để tham chiếu đến IDeviceManager
Giá trị trả về | |
---|---|
IDeviceManager |
IDeviceManager cần sử dụng
|
getFeatureServer
protected TradefedFeatureServer getFeatureServer ()
Giá trị trả về | |
---|---|
TradefedFeatureServer |
getHostOptions
protected IHostOptions getHostOptions ()
Giá trị trả về | |
---|---|
IHostOptions |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
Tìm nạp IKeyStoreClient
bằng IKeyStoreFactory
được khai báo trong IGlobalConfiguration
hoặc rỗng nếu không có giá trị nào được xác định.
Giá trị trả về | |
---|---|
IKeyStoreClient |
IKeyStoreClient |
initLogging
protected void initLogging ()
Khởi động nhật ký ddmlib.
Được hiển thị để các kiểm thử đơn vị có thể mô phỏng.
isShutdown
protected boolean isShutdown ()
Giá trị trả về | |
---|---|
boolean |
isShuttingDown
protected boolean isShuttingDown ()
Giá trị trả về | |
---|---|
boolean |
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
Tham số | |
---|---|
manager |
IDeviceManager |
waitForAllInvocationThreads
protected void waitForAllInvocationThreads ()
Chờ cho đến khi tất cả luồng gọi hoàn tất.