Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Trình lập lịch biểu lệnh

public class CommandScheduler
extends Object implements ICommandScheduler

java.lang.Object
com.android.tradefed.command.CommandScheduler


Bộ lập lịch để chạy các lệnh TradeFederation trên tất cả các thiết bị khả dụng.

Sẽ cố gắng ưu tiên các lệnh để chạy dựa trên tổng số lần chạy trong thời gian thực hiện của chúng. ví dụ: các lệnh chạy nhanh hoặc không thường xuyên sẽ được ưu tiên hơn các lệnh chạy dài.

Chạy mãi mãi trong nền cho đến khi tắt máy.

Bản tóm tắt

nhà thầu công cộng

CommandScheduler ()

Tạo một CommandScheduler .

Phương thức công khai

Pair <Boolean, Integer> addCommand (String[] args)

Thêm một lệnh vào lịch trình.

void addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs)

Thêm tất cả các lệnh từ tệp đã cho vào bộ lập lịch

void await ()

Đợi bộ lập lịch bắt đầu chạy, bao gồm 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 bộ ủy quyền dựa trên dòng lệnh để xem liệu chúng ta có cần ủy quyền việc chạy hay không.

static createReleaseMap ( IInvocationContext context, Throwable e)

Tạo bản đồ trạng thái thiết bị để chúng có thể được phát hành một cách thích hợp.

ISandbox createSandbox ()

Tạo một ISandbox mà lệnh gọi sẽ sử dụng để chạy.

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 yêu cầu 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ả các giá trị Option được chỉ định cho tất cả các lệnh hiện tại.

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

Trực tiếp thực hiện lệnh trên các thiết bị đã được phân bổ.

long 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 nó vào hàng đợi lệnh bằng cách sử dụng IInvocationContext đã có sẵn.

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

Cấp phát trực tiếp thiết bị và thực thi lệnh mà không cần thêm nó vào hàng đợi lệnh.

CommandFileWatcher getCommandFileWatcher ()

Nhận CommandFileWatcher thích hợp cho bộ lập lịch này

int getExecutingCommandCount ()

Trả về số Lệnh ở trạng thái thực thi.

CommandScheduler.HostState getHostState ()
String getInvocationInfo (int invocationId)

Trả lại thông tin về một lời gọi bu chỉ định id lời gọi.

CommandRunner.ExitCode getLastInvocationExitCode ()

Trả lại mã lỗi của lệnh gọi cuối cùng đã chạy.

Throwable getLastInvocationThrowable ()

Trả về ERROR(/Throwable) từ lệnh gọi cuối cùng đã chạy.

int getReadyCommandCount ()

Trả về số Lệnh ở trạng thái sẵn sàng trong hàng đợi.

long getShutdownTimeout ()
boolean isDeviceInInvocationThread ( ITestDevice device)

Trả về true nếu thiết bị được sử dụng bởi chuỗi yêu cầu đang hoạt động.

void notifyFileChanged (File cmdFile, extraArgs) notifyFileChanged (File cmdFile, extraArgs)
void removeAllCommands ()

Xóa tất cả các lệnh khỏi bộ lập lịch

void run ()

Khối thực thi chính của chủ đề này.

void setClearcutClient (ClearcutClient client)

Đặt khách hàng để báo cáo dữ liệu khai thác

boolean shouldShutdownOnCmdfileError ()

Trả về true nếu chúng ta cần tắt bộ lập lịch khi có lỗi lệnh

void shutdown (boolean notifyStop)

Cố gắng tắt bộ lập lịch lệnh một cách duyên dáng.

void shutdownHard (boolean killAdb)

Cố gắng tắt mạnh bộ lập lịch lệnh.

void shutdownHard ()

Cố gắng tắt mạnh bộ lập lịch lệnh.

void shutdownOnEmpty ()

Tương tự như shutdown() , nhưng thay vào đó sẽ đợi tất cả các lệnh được thực thi trước khi thoát.

void start ()

Khởi động bộ lập lịch bao gồm thiết lập ghi nhật ký, init của DeviceManager , v.v.

boolean stopInvocation ( ITestInvocation invocation)

Dừng một lời gọi đang chạy.

boolean stopInvocation (int invocationId, String cause)

Dừng một lời gọi đang chạy bằng cách chỉ định id của nó.

phương pháp được bảo vệ

void cleanUp ()

Đóng nhật ký và thực hiện bất kỳ thao tác dọn dẹp cần thiết nào khác trước khi chúng tôi thoát.

IConfiguration createConfiguration (String[] args)
IInvocationContext createInvocationContext ()
long execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args)
IConfigurationFactory getConfigFactory ()

Phương thức xuất xưởng để lấy tham chiếu đến IConfigurationFactory

DeviceManagementGrpcServer getDeviceManagementServer ()
IDeviceManager getDeviceManager ()

Phương thức xuất xưởng để lấy tham chiếu đến IDeviceManager

TradefedFeatureServer getFeatureServer ()
IHostOptions getHostOptions ()
IKeyStoreClient getKeyStoreClient ()

Tìm nạp một IKeyStoreClient bằng cách sử dụng IKeyStoreFactory được khai báo trong IGlobalConfiguration hoặc null nếu không có giá trị nào được xác định.

TestInvocationManagementServer getTestInvocationManagementServer ()
void initLogging ()

Khởi tạo nhật ký ddmlib.

boolean isShutdown ()
boolean isShuttingDown ()
void processReadyCommands ( IDeviceManager manager)

nhà thầu công cộng

Trình lập lịch biểu lệnh

public CommandScheduler ()

Tạo một CommandScheduler .

Lưu ý: start phải được gọi trước khi sử dụng.

Phương thức công khai

thêmCommand

public Pair<Boolean, Integer> addCommand (String[] args)

Thêm một lệnh vào lịch trình.

Một lệnh về cơ bản là một thể hiện của một cấu hình để chạy và các đối số liên quan của nó.

Nếu đối số "--help" được chỉ định, văn bản trợ giúp cho cấu hình sẽ được xuất ra thiết bị xuất chuẩn. Nếu không, cấu hình sẽ được thêm vào hàng đợi để chạy.

Thông số
args String : các đối số cấu hình.

trả lại
Pair <Boolean, Integer> Một cặp giá trị, giá trị đầu tiên là Boolean true nếu lệnh được thêm thành công. Giá trị thứ hai là id trình theo dõi lệnh đã biết (giá trị không âm) nếu lệnh được thêm thành công, trả về 0 khi lệnh được thêm cho tất cả các thiết bị, nếu không -1.

ném
ConfigurationException

thêmCommandFile

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

Thêm tất cả các lệnh từ tệp đã cho vào bộ lập lịch

Thông số
cmdFilePath String : đường dẫn hệ thống tệp của tệp comand

extraArgs : một đối ERROR(/List) của ERROR(/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 rỗng.

ném
ConfigurationException

chờ đợi

public void await ()

Đợi bộ lập lịch bắt đầu chạy, bao gồm chờ quá trình chuyển giao từ TF cũ hoàn tất nếu có.

kiểm tra ủy quyền

public static TradefedDelegator checkDelegation (String[] args)

Tạo một bộ ủy quyền dựa trên dòng lệnh để xem liệu chúng ta có cần ủy quyền việc chạy hay không.

Thông số
args String

trả lại
TradefedDelegator

ném
com.android.tradefed.config.ConfigurationException
ConfigurationException

tạoReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

Tạo bản đồ trạng thái thiết bị để chúng có thể được phát hành một cách thích hợp.

Thông số
context IInvocationContext

e Throwable

trả lại

tạoSandbox

public ISandbox createSandbox ()

Tạo một ISandbox mà lệnh gọi sẽ sử dụng để chạy.

trả lại
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.

Thông số
printWriter PrintWriter : ERROR(/PrintWriter) để xuất ra.

regex String : biểu thức chính quy mà các lệnh sẽ được khớp để được in. Nếu null, thì tất cả các lệnh sẽ được in.

hiển thịInvocationsInfo

public void displayInvocationsInfo (PrintWriter printWriter)

Hiển thị danh sách các yêu cầu hiện tại.

Thông 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ả các giá trị Option được chỉ định cho tất cả các lệnh hiện tại.

Thông số
printWriter PrintWriter : ERROR(/PrintWriter) để xuất trạng thái sang.

regex String : biểu thức chính quy mà các lệnh sẽ được đối sánh để tệp xml được kết xuất. Nếu null, thì tất cả các lệnh sẽ bị hủy.

execCommand

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

Trực tiếp thực hiện lệnh trên các thiết bị đã được phân bổ.

Thông số
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener được thông báo

reservedDevices : ERROR(/List ) ERROR(/List ) để sử dụng

args String : các đối số lệnh

trả lại
long Id lời gọi của lệnh đã lên lịch.

ném
ConfigurationException

execCommand

public long 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 nó vào hàng đợi lệnh bằng cách sử dụng IInvocationContext đã có sẵn.

Thông số
context IInvocationContext : một IInvocationContext hiện có.

listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener được thông báo

args String : các đối số lệnh

trả lại
long

ném
ConfigurationException
NoDeviceException

execCommand

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

Cấp phát trực tiếp thiết bị và thực thi lệnh mà không cần thêm nó vào hàng đợi lệnh.

Thông số
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener được thông báo

args String : các đối số lệnh

trả lại
long Id lời gọi của lệnh đã lên lịch.

ném
ConfigurationException
NoDeviceException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

Nhận CommandFileWatcher thích hợp cho bộ lập lịch này

trả lại
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

Trả về số Lệnh ở trạng thái thực thi.

trả lại
int

getHostState

public CommandScheduler.HostState getHostState ()

trả lại
CommandScheduler.HostState

getInvocationInfo

public String getInvocationInfo (int invocationId)

Trả lại thông tin về một lời gọi bu chỉ định id lời gọi.

Thông số
invocationId int : id theo dõi của lệnh gọi.

trả lại
String MỘT ERROR(/String) chứa thông tin về lệnh gọi.

getLastInvocationExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

Trả lại mã lỗi của lệnh gọi cuối cùng đã chạy. Trả về 0 (không có lỗi), nếu chưa chạy lời gọi nào.

trả lại
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

Trả về ERROR(/Throwable) từ lệnh gọi cuối cùng đã chạy. Trả về null, nếu không có sẵn ném.

trả lại
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

Trả về số Lệnh ở trạng thái sẵn sàng trong hàng đợi.

trả lại
int

getShutdownTimeout

public long getShutdownTimeout ()

trả lại
long

isDeviceInInvocationThread

public boolean isDeviceInInvocationThread (ITestDevice device)

Trả về true nếu thiết bị được sử dụng bởi chuỗi yêu cầu đang hoạt động.

Thông số
device ITestDevice

trả lại
boolean

thông báoTệp đã thay đổi

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

Thông số
cmdFile File

extraArgs

loại bỏ tất cả các lệnh

public void removeAllCommands ()

Xóa tất cả các lệnh khỏi bộ lập lịch

chạy

public void run ()

Khối thực thi chính của chủ đề này.

thiết lậpClearcutClient

public void setClearcutClient (ClearcutClient client)

Đặt khách hàng để báo cáo dữ liệu khai thác

Thông số
client ClearcutClient

nênShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

Trả về true nếu chúng ta cần tắt bộ lập lịch khi có lỗi lệnh

trả lại
boolean

tắt

public void shutdown (boolean notifyStop)

Cố gắng tắt bộ lập lịch lệnh một cách duyên dáng.

Thông số
notifyStop boolean : nếu đúng, thông báo yêu cầu tắt TF.

tắt máyCứng

public void shutdownHard (boolean killAdb)

Cố gắng tắt mạnh bộ lập lịch lệnh.

Tương tự như shutdown() , nhưng cũng sẽ tùy chọn hủy kết nối adb, nhằm cố gắng 'truyền cảm hứng' cho các yêu cầu đang diễn ra để hoàn thành nhanh hơn.

Thông số
killAdb boolean

tắt máyCứng

public void shutdownHard ()

Cố gắng tắt mạnh bộ lập lịch lệnh. Tương tự như shutdownHard(true).

tắt máyOnRỗng

public void shutdownOnEmpty ()

Tương tự như shutdown() , nhưng thay vào đó sẽ đợi tất cả các lệnh được thực thi trước khi thoát.

Lưu ý rằng nếu bất kỳ lệnh nào ở chế độ vòng lặp, bộ lập lịch sẽ không bao giờ thoát.

bắt đầu

public void start ()

Khởi động bộ lập lịch bao gồm thiết lập ghi nhật ký, init của DeviceManager , v.v.

ngừng gọi

public boolean stopInvocation (ITestInvocation invocation)

Dừng một lời gọi đang chạy.

Thông số
invocation ITestInvocation

trả lại
boolean đúng nếu lời gọi bị dừng, ngược lại là sai

ngừng gọi

public boolean stopInvocation (int invocationId, 
                String cause)

Dừng một lời gọi đang chạy bằng cách chỉ định id của nó.

Thông số
invocationId int : id theo dõi của lệnh gọi.

cause String : nguyên nhân dừng lời gọi.

trả lại
boolean đúng nếu lời gọi bị dừng, ngược lại là sai

phương pháp được bảo vệ

dọn dẹp

protected void cleanUp ()

Đóng nhật ký và thực hiện bất kỳ thao tác dọn dẹp cần thiết nào khác trước khi chúng tôi thoát.

Tiếp xúc để các bài kiểm tra đơn vị có thể giả định.

tạo cấu hình

protected IConfiguration createConfiguration (String[] args)

Thông số
args String

trả lại
IConfiguration

ném
ConfigurationException

tạoInvocationContext

protected IInvocationContext createInvocationContext ()

trả lại
IInvocationContext

execCommand

protected long execCommand (IInvocationContext context, 
                ICommandScheduler.IScheduledInvocationListener listener, 
                 reservedDevices, 
                String[] args)

Thông số
context IInvocationContext

listener ICommandScheduler.IScheduledInvocationListener

reservedDevices

args String

trả lại
long

ném
ConfigurationException

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

Phương thức xuất xưởng để lấy tham chiếu đến IConfigurationFactory

trả lại
IConfigurationFactory IConfigurationFactory để sử dụng

getDeviceManagementServer

protected DeviceManagementGrpcServer getDeviceManagementServer ()

trả lại
DeviceManagementGrpcServer

getDeviceManager

protected IDeviceManager getDeviceManager ()

Phương thức xuất xưởng để lấy tham chiếu đến IDeviceManager

trả lại
IDeviceManager IDeviceManager để sử dụng

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

trả lại
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

trả lại
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

Tìm nạp một IKeyStoreClient bằng cách sử dụng IKeyStoreFactory được khai báo trong IGlobalConfiguration hoặc null nếu không có giá trị nào được xác định.

trả lại
IKeyStoreClient IKeyStoreClient

getTestInvocationQuản lý máy chủ

protected TestInvocationManagementServer getTestInvocationManagementServer ()

trả lại
TestInvocationManagementServer

initLogging

protected void initLogging ()

Khởi tạo nhật ký ddmlib.

Tiếp xúc để các bài kiểm tra đơn vị có thể giả định.

isShutdown

protected boolean isShutdown ()

trả lại
boolean

isShuttingDown

protected boolean isShuttingDown ()

trả lại
boolean

processReadyLệnh

protected void processReadyCommands (IDeviceManager manager)

Thông số
manager IDeviceManager