Job

interface Job<T> : JsonSerializable

A job represents a long running asynchronous action. A job can be paused and re-started. A job can involve multiple network requests.

Since

200.0.0

Inheritors

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
abstract val messages: SharedFlow<JobMessage>

The job's messages. Indicates that a new JobMessage was generated.

Link copied to clipboard
abstract val progress: StateFlow<Int>

The current progress of the job as a percentage complete. This emits updates when the progress value changes.

Link copied to clipboard
abstract val serverJobId: String

The server job Id of the job.

Link copied to clipboard
abstract val status: StateFlow<JobStatus>

The status of the job.

Functions

Link copied to clipboard
abstract suspend fun cancel(): Result<Boolean>

Cancels this Job and waits for any asynchronous, server-side operations to be canceled. The job is canceled and will result in a JobStatus.Failed status after all cancellation tasks have completed. For jobs running on a server, a cancel request is sent for the associated Job.serverJobId. You should always cancel unneeded jobs (for example when exiting your app) to avoid placing unnecessary load on the server. Examples of server-side jobs include:

Link copied to clipboard
abstract suspend fun checkStatus(): Result<Boolean>

Initiates a request to check the server status. If the job is polling the server for status and is in a time gap, then calling this method will ensure a request is sent right away. The result can be false if the job is not checking server status for example if the job status is paused or uploading.

Link copied to clipboard
abstract fun pause(): Boolean

Pauses the job.

Link copied to clipboard
abstract suspend fun result(): Result<T>

Suspends until this job has completed. Calling this function does not start the job. In order to start the job call start

Link copied to clipboard
abstract fun start(): Boolean

Starts executing the job if the job is not started or paused.

Inherited functions

Link copied to clipboard
abstract fun toJson(): String

Convert an object to JSON string.