UNPKG

apify-client

Version:
189 lines 7.29 kB
import { ACT_JOB_STATUSES } from '@apify/consts'; import type { ApiClientSubResourceOptions } from '../base/api_client'; import { ResourceClient } from '../base/resource_client'; import type { Dictionary } from '../utils'; import type { ActorRun, ActorStandby, ActorStartOptions } from './actor'; import { RunClient } from './run'; import { RunCollectionClient } from './run_collection'; import { WebhookCollectionClient } from './webhook_collection'; /** * Client for managing a specific Actor task. * * Tasks are pre-configured Actor runs with saved input and options. This client provides methods * to start, call, update, and delete tasks, as well as manage their runs and webhooks. * * @example * ```javascript * const client = new ApifyClient({ token: 'my-token' }); * const taskClient = client.task('my-task-id'); * * // Start a task * const run = await taskClient.start(); * * // Call a task and wait for it to finish * const finishedRun = await taskClient.call(); * ``` * * @see https://docs.apify.com/platform/actors/running/tasks */ export declare class TaskClient extends ResourceClient { /** * @hidden */ constructor(options: ApiClientSubResourceOptions); /** * Retrieves the Actor task. * * @returns The task object, or `undefined` if it does not exist. * @see https://docs.apify.com/api/v2/actor-task-get */ get(): Promise<Task | undefined>; /** * Updates the task with the specified fields. * * @param newFields - Fields to update. * @returns The updated task object. * @see https://docs.apify.com/api/v2/actor-task-put */ update(newFields: TaskUpdateData): Promise<Task>; /** * Deletes the Task. * * @see https://docs.apify.com/api/v2/actor-task-delete */ delete(): Promise<void>; /** * Starts an Actor task and immediately returns the Run object. * * @param input - Input overrides for the task. If not provided, the task's saved input is used. * @param options - Run options. * @param options.build - Tag or number of the Actor build to run (e.g., `'beta'` or `'1.2.345'`). * @param options.memory - Memory in megabytes allocated for the run. * @param options.timeout - Timeout for the run in seconds. Zero means no timeout. * @param options.waitForFinish - Maximum time to wait (in seconds, max 60s) for the run to finish before returning. * @param options.webhooks - Webhooks to trigger for specific Actor run events. * @param options.maxItems - Maximum number of dataset items (for pay-per-result Actors). * @param options.maxTotalChargeUsd - Maximum cost in USD (for pay-per-event Actors). * @param options.restartOnError - Whether to restart the run on error. * @returns The Actor Run object. * @see https://docs.apify.com/api/v2/actor-task-runs-post */ start(input?: Dictionary, options?: TaskStartOptions): Promise<ActorRun>; /** * Starts a task and waits for it to finish before returning the Run object. * It waits indefinitely, unless the `waitSecs` option is provided. * * @param input - Input overrides for the task. If not provided, the task's saved input is used. * @param options - Run and wait options. * @param options.build - Tag or number of the Actor build to run. * @param options.memory - Memory in megabytes allocated for the run. * @param options.timeout - Timeout for the run in seconds. * @param options.waitSecs - Maximum time to wait for the run to finish, in seconds. If omitted, waits indefinitely. * @param options.webhooks - Webhooks to trigger for specific Actor run events. * @param options.maxItems - Maximum number of dataset items (for pay-per-result Actors). * @param options.maxTotalChargeUsd - Maximum cost in USD (for pay-per-event Actors). * @param options.restartOnError - Whether to restart the run on error. * @returns The Actor run object. * @see https://docs.apify.com/api/v2/actor-task-runs-post */ call(input?: Dictionary, options?: TaskCallOptions): Promise<ActorRun>; /** * Retrieves the Actor task's input object. * * @returns The Task's input, or `undefined` if it does not exist. * @see https://docs.apify.com/api/v2/actor-task-input-get */ getInput(): Promise<Dictionary | Dictionary[] | undefined>; /** * Updates the Actor task's input object. * * @param newFields - New input data for the task. * @returns The updated task input. * @see https://docs.apify.com/api/v2/actor-task-input-put */ updateInput(newFields: Dictionary | Dictionary[]): Promise<Dictionary | Dictionary[]>; /** * Returns a client for the last run of this task. * * @param options - Filter options for the last run. * @param options.status - Filter by run status (e.g., `'SUCCEEDED'`, `'FAILED'`, `'RUNNING'`). * @param options.origin - Filter by run origin (e.g., `'WEB'`, `'API'`, `'SCHEDULE'`). * @returns A client for the last run. * @see https://docs.apify.com/api/v2/actor-task-runs-last-get */ lastRun(options?: TaskLastRunOptions): RunClient; /** * Returns a client for the Runs of this Task. * * @returns A client for the task's runs. * @see https://docs.apify.com/api/v2/actor-task-runs-get */ runs(): RunCollectionClient; /** * Returns a client for the Webhooks of this Task. * * @returns A client for the task's webhooks. * @see https://docs.apify.com/api/v2/actor-task-webhooks-get */ webhooks(): WebhookCollectionClient; } /** * Represents an Actor task. * * Tasks are saved Actor configurations with input and settings that can be executed * repeatedly without having to specify the full input each time. */ export interface Task { id: string; userId: string; actId: string; name: string; title?: string; description?: string; username?: string; createdAt: Date; modifiedAt: Date; stats: TaskStats; options?: TaskOptions; input?: Dictionary | Dictionary[]; actorStandby?: Partial<ActorStandby>; } /** * Statistics about Actor task usage. */ export interface TaskStats { totalRuns: number; } /** * Configuration options for an Actor task. */ export interface TaskOptions { build?: string; timeoutSecs?: number; memoryMbytes?: number; restartOnError?: boolean; } /** * Fields that can be updated when modifying a Task. */ export type TaskUpdateData = Partial<Pick<Task, 'name' | 'title' | 'description' | 'options' | 'input' | 'actorStandby'>>; /** * Options for filtering the last run of a Task. */ export interface TaskLastRunOptions { status?: keyof typeof ACT_JOB_STATUSES; } /** * Options for starting a Task. * * Similar to {@link ActorStartOptions} but without contentType (Task input is predefined) * and forcePermissionLevel. */ export type TaskStartOptions = Omit<ActorStartOptions, 'contentType' | 'forcePermissionLevel'>; /** * Options for calling a Task and waiting for it to finish. */ export interface TaskCallOptions extends Omit<TaskStartOptions, 'waitForFinish'> { waitSecs?: number; } //# sourceMappingURL=task.d.ts.map