Bộ lập lịch Command
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 sắp xếp thứ tự ưu tiên chạy các lệnh dựa trên tổng số lần thực thi của các lệnh đó bất cứ lúc nào. ví dụ: các lệnh không chạy nhanh hoặc không thường xuyên sẽ được ưu tiên hơn các lệnh chạy trong thời gian dài.
Chạy vĩnh viễn trong nền cho đến khi tắt.
Tóm tắt
Lớp lồng ghép | |
---|---|
enum |
CommandScheduler.HostState
Enum của các trạng thái khác nhau của máy chủ |
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ả cá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ả chờ hoàn tất quá trình chuyển giao từ TF cũ nếu có. |
static
TradefedDelegator
|
checkDelegation(String[] args)
Tạo một trình 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 trình tự chuyển giao được khởi tạo đã hoàn tất và phải khởi động 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ị để thiết bị có thể được phát hành một cách thích hợp. |
ISandbox
|
createSandbox()
Tạo |
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)
Cho thấy danh sách 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 bằng tất cả
Đã chỉ định giá trị |
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Thực thi trực tiếp lệnh trên thiết bị đã được phân bổ. |
void
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Phân bổ trực tiếp 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 |
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Phân bổ trực tiếp 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 trên một bu lệnh gọi chỉ định id 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 chuyển giao thiết bị và lệnh đang được sử dụng lần đầu tiên đã 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ả cá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)
Thiết lập ứng dụng để báo cáo dữ liệu khai thác |
boolean
|
shouldShutdownOnCmdfileError()
Trả về giá trị 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 linh hoạt. |
void
|
shutdownHard(boolean killAdb)
Cố gắng tắt trình lập lịch biểu lệnh. |
void
|
shutdownHard()
Cố gắng tắt trình lập lịch biểu lệnh. |
void
|
shutdownOnEmpty()
Tương tự như |
void
|
start()
Khởi động trình lập lịch biểu, bao gồm cả việc thiết lập 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 chúng ta thoát. |
IConfiguration
|
createConfiguration(String[] args)
|
IInvocationContext
|
createInvocationContext()
|
IConfigurationFactory
|
getConfigFactory()
Phương thức ban đầu để lấy tham chiếu đến |
IDeviceManager
|
getDeviceManager()
Phương thức ban đầu để lấy tham chiếu đến |
TradefedFeatureServer
|
getFeatureServer()
|
IHostOptions
|
getHostOptions()
|
IKeyStoreClient
|
getKeyStoreClient()
Tìm nạp |
void
|
initLogging()
Khởi chạy nhật ký ddmlib. |
boolean
|
isShutdown()
|
boolean
|
isShuttingDown()
|
void
|
processReadyCommands(IDeviceManager manager)
|
void
|
waitForAllInvocationThreads()
Chờ cho đến khi tất cả các luồng gọi hoàn tất. |
Hàm khởi tạo công khai
Bộ lập lịch Command
public CommandScheduler ()
Tạo CommandScheduler
.
Lưu ý: 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.
Lệnh về cơ bản là một thực thể của cấu hình cần chạy cũng như các đối số liên quan.
Nếu "--help" Đối số được chỉ định văn bản trợ giúp cho cấu hình sẽ được xuất sang stdout. Nếu không, cấu hình này sẽ được thêm vào hàng đợi để chạy.
Tham số | |
---|---|
args |
String : các đối số cấu hình. |
Giá trị trả về | |
---|---|
boolean |
true nếu đã thêm lệnh thành công |
Gửi | |
---|---|
ConfigurationException |
addCommandFile
public void addCommandFile (String cmdFilePath,extraArgs)
Thêm tất cả cá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 comand |
extraArgs |
: ERROR(/List) trong số String đối số để thêm vào mỗi lệnh được phân tích cú pháp
khỏi tệp. Có thể để trống nhưng không được để trống. |
Gửi | |
---|---|
ConfigurationException |
đang chờ
public void await ()
Chờ trình lập lịch biểu bắt đầu chạy, bao gồm cả chờ hoàn tất quá trình chuyển giao từ TF cũ nếu có.
uỷ quyền kiểm tra
public static TradefedDelegator checkDelegation (String[] args)
Tạo một trình 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 |
hoàn tất quá trình chuyển giao
public void completeHandover ()
Thông báo cho trình lập lịch biểu lệnh rằng trình tự chuyển giao được khởi tạo đã hoàn tất và phải khởi động 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ị để thiết bị có thể được phát hành 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 |
Hàng đợi displayCommand
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 dữ liệu. |
regex |
String : biểu thức chính quy cần được so khớp để được
đã in. Nếu giá trị rỗng thì tất cả lệnh sẽ được in.
|
displayInvocationsInfo
public void displayInvocationsInfo (PrintWriter printWriter)
Cho thấy danh sách lệnh gọi hiện tại.
Tham số | |
---|---|
printWriter |
PrintWriter : ERROR(/PrintWriter) để xuất dữ liệu.
|
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter, String regex)
Kết xuất tệp xml mở rộng cho lệnh bằng tất cả
Đã chỉ định giá trị Option
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 cần được so khớp để có
xml được kết xuất. Nếu giá trị rỗng, mọi lệnh sẽ được kết xuất.
|
execCommand
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Thực thi trực tiếp lệnh trên thiết bị đã được phân bổ.
Tham số | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener cần nhận thông báo |
device |
ITestDevice : ITestDevice để sử dụng |
args |
String : đối số lệnh |
Gửi | |
---|---|
ConfigurationException |
execCommand
public void execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Phân bổ trực tiếp 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 IInvocationContext
có sẵn.
Tham số | |
---|---|
context |
IInvocationContext : một IInvocationContext hiện có. |
listener |
ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener cần nhận thông báo |
args |
String : đối số lệnh |
Gửi | |
---|---|
ConfigurationException |
|
NoDeviceException |
execCommand
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Phân bổ trực tiếp 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 nhận 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 |
getTrạng thái máy chủ lưu trữ
public CommandScheduler.HostState getHostState ()
Giá trị trả về | |
---|---|
CommandScheduler.HostState |
getInvocationInfo
public String getInvocationInfo (int invocationId)
Trả về thông tin trên một bu lệnh gọi chỉ định id 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ó lớp throwable.
Giá trị trả về | |
---|---|
Throwable |
getSẵn LệnhCount
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 |
getoffHết thời gian chờ
public long getShutdownTimeout ()
Giá trị trả về | |
---|---|
long |
quá trình chuyển giao hoàn tất
public void handoverInitiationComplete ()
Thông báo cho trình lập lịch biểu lệnh rằng quá trình chuyển giao thiết bị và lệnh đang được sử dụng lần đầu tiên đã hoàn tất và có thể bắt đầu lên lịch hoạt động.
tắt bàn giao
public boolean handoverShutdown (int handoverPort)
Bắt đầu một shutdown()
và chuyển giao sang một quy trình giao dịch khác trên cùng một máy chủ lưu trữ này.
Bộ lập lịch sẽ thông báo cho quy trình trao đổi từ xa đang nghe trên cổng thiết bị được giải phóng đó khi chúng trở nên khả dụng.
Tham số | |
---|---|
handoverPort |
int |
Giá trị trả về | |
---|---|
boolean |
true nếu quá trình bắt đầu bàn giao thành công, false
nếu không
|
notificationsFileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
Tham số | |
---|---|
cmdFile |
File |
extraArgs |
|
removeAllCommands
public void removeAllCommands ()
Xoá tất cả cá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)
Thiết lập ứng dụng để báo cáo dữ liệu khai thác
Tham số | |
---|---|
client |
ClearcutClient |
nênTắtOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Trả về giá trị 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 máy
public void shutdown ()
Cố gắng tắt trình lập lịch biểu lệnh một cách linh hoạt.
Xoá các lệnh đang chờ kiểm thử và yêu cầu tất cả lệnh gọi đang diễn ra tắt một cách dễ dàng.
Sau khi gọi quá trình tắt, 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.
CANNOT TRANSLATE
public void shutdownHard (boolean killAdb)
Cố gắng tắt trình lập lịch biểu lệnh.
Tương tự như shutdown()
, nhưng cũng sẽ tuỳ ý loại bỏ kết nối adb, trong một
cố gắng 'truyền cảm hứng' đang thực hiện lệnh gọi để hoàn tất nhanh hơn.
Tham số | |
---|---|
killAdb |
boolean |
CANNOT TRANSLATE
public void shutdownHard ()
Cố gắng tắt trình lập lịch biểu lệnh. Tương tự như TẮTHard(true).
tắt máy khi trống
public void shutdownOnEmpty ()
Tương tự như shutdown()
, nhưng sẽ đợi tất cả các lệnh được thực thi
trước khi thoát.
Lưu ý rằng nếu có bất kỳ lệnh nào ở chế độ lặp lại, thì trình lập lịch biểu sẽ không bao giờ thoát.
start
public void start ()
Khởi động trình lập lịch biểu, bao gồm cả việc thiết lập nhật ký, khởi tạo DeviceManager
, v.v.
dừngGọi
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 gọi |
dừngGọi
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 khiến lệnh gọi dừng hoạt động. |
Giá trị trả về | |
---|---|
boolean |
true nếu lệnh gọi bị dừng, false nếu không gọi |
Phương thức được bảo vệ
dọn dẹp
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 chúng ta thoát.
Được hiển thị để 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 ban đầu để lấy tham chiếu đến IConfigurationFactory
Giá trị trả về | |
---|---|
IConfigurationFactory |
IConfigurationFactory để sử dụng
|
getDeviceManager
protected IDeviceManager getDeviceManager ()
Phương thức ban đầu để lấy tham chiếu đến IDeviceManager
Giá trị trả về | |
---|---|
IDeviceManager |
IDeviceManager để 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 |
Ứng dụng kho khoá IKey |
initLogging
protected void initLogging ()
Khởi chạy nhật ký ddmlib.
Được hiển thị để kiểm thử đơn vị có thể mô phỏng.
đang tắt
protected boolean isShutdown ()
Giá trị trả về | |
---|---|
boolean |
đang tắt
protected boolean isShuttingDown ()
Giá trị trả về | |
---|---|
boolean |
processSẵn sàngs Commands
protected void processReadyCommands (IDeviceManager manager)
Tham số | |
---|---|
manager |
IDeviceManager |
WaitForAllInvocationThreads
protected void waitForAllInvocationThreads ()
Chờ cho đến khi tất cả các luồng gọi hoàn tất.