FederatedComputeScheduler
  public
  
  
  
  class
  FederatedComputeScheduler
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | android.adservices.ondevicepersonalization.FederatedComputeScheduler | 
Handles scheduling federated compute jobs. See IsolatedService.getFederatedComputeScheduler(RequestToken).
Summary
| Nested classes | |
|---|---|
| 
        
        
        
        
        class | FederatedComputeScheduler.ParamsThe parameters related to job scheduling. | 
| Public methods | |
|---|---|
| 
        
        
        
        
        
        void | 
      cancel(FederatedComputeInput input)
      Cancels a federated compute job with input training params. | 
| 
        
        
        
        
        
        void | 
      schedule(FederatedComputeScheduler.Params params, FederatedComputeInput input)
      Schedules a federated compute job. | 
| 
        
        
        
        
        
        void | 
      schedule(FederatedComputeScheduleRequest federatedComputeScheduleRequest, Executor executor, OutcomeReceiver<FederatedComputeScheduleResponse, Exception> outcomeReceiver)
      Schedules a federated compute job. | 
| Inherited methods | |
|---|---|
Public methods
cancel
public void cancel (FederatedComputeInput input)
Cancels a federated compute job with input training params. In IsolatedService.onRequest(RequestToken), the app can call IsolatedService.getFederatedComputeScheduler(RequestToken) to pass scheduler when constructing the IsolatedWorker.
 
 This method may take several seconds to complete, so it should
 only be called from a worker thread.
| Parameters | |
|---|---|
| input | FederatedComputeInput: the configuration of the federated compute. It should be consistent with the
     federated compute server setup.
 This value cannot benull. | 
schedule
public void schedule (FederatedComputeScheduler.Params params, FederatedComputeInput input)
Schedules a federated compute job. In IsolatedService.onRequest, the app can call
 IsolatedService.getFederatedComputeScheduler to pass the scheduler when constructing
 the IsolatedWorker.
 
 This method may take several seconds to complete, so it should
 only be called from a worker thread.
| Parameters | |
|---|---|
| params | FederatedComputeScheduler.Params: parameters related to job scheduling.
 This value cannot benull. | 
| input | FederatedComputeInput: the configuration of the federated computation. It should be consistent with the
     federated compute server setup as described in 
     Federated Compute Server documentation. .
 This value cannot benull. | 
schedule
public void schedule (FederatedComputeScheduleRequest federatedComputeScheduleRequest, Executor executor, OutcomeReceiver<FederatedComputeScheduleResponse, Exception> outcomeReceiver)
Schedules a federated compute job. In IsolatedService.onRequest, the app can call
 IsolatedService.getFederatedComputeScheduler to pass the scheduler when constructing
 the IsolatedWorker.
 
 This method may take several seconds to complete, so it should
 only be called from a worker thread.
| Parameters | |
|---|---|
| federatedComputeScheduleRequest | FederatedComputeScheduleRequest: input parameters related to job scheduling.
 This value cannot benull. | 
| executor | Executor: theExecutoron which to invoke the callback.
 This value cannot benull.
 Callback and listener events are dispatched through thisExecutor, providing an easy way to control which thread is
 used. To dispatch events through the main thread of your
 application, you can useContext.getMainExecutor().
 Otherwise, provide anExecutorthat dispatches to an appropriate thread. | 
| outcomeReceiver | OutcomeReceiver: This either returns aFederatedComputeScheduleResponseon
     success, orExceptionon failure. The exception type isOnDevicePersonalizationExceptionwith error codeOnDevicePersonalizationException.ERROR_INVALID_TRAINING_MANIFESTif the manifest is
     missing the federated compute server URL orOnDevicePersonalizationException.ERROR_SCHEDULE_TRAINING_FAILEDwhen scheduling fails
     for other reasons.
 This value cannot benull. | 
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-09-17 UTC.
