# Consumers ## List Queue Consumers `client.queues.consumers.list(stringqueueId, ConsumerListParamsparams, RequestOptionsoptions?): SinglePage` **get** `/accounts/{account_id}/queues/{queue_id}/consumers` Returns the consumers for a Queue ### Parameters - `queueId: string` A Resource identifier. - `params: ConsumerListParams` - `account_id: string` A Resource identifier. ### Returns - `Consumer = MqWorkerConsumerResponse | MqHTTPConsumerResponse` Response body representing a consumer - `MqWorkerConsumerResponse` - `consumer_id?: string` A Resource identifier. - `created_on?: string` - `dead_letter_queue?: string` Name of the dead letter queue, or empty string if not configured - `queue_name?: string` - `script_name?: string` Name of a Worker - `settings?: Settings` - `batch_size?: number` The maximum number of messages to include in a batch. - `max_concurrency?: number` Maximum number of concurrent consumers that may consume from this Queue. Set to `null` to automatically opt in to the platform's maximum (recommended). - `max_retries?: number` The maximum number of retries - `max_wait_time_ms?: number` The number of milliseconds to wait for a batch to fill up before attempting to deliver it - `retry_delay?: number` The number of seconds to delay before making the message available for another attempt. - `type?: "worker"` - `"worker"` - `MqHTTPConsumerResponse` - `consumer_id?: string` A Resource identifier. - `created_on?: string` - `dead_letter_queue?: string` Name of the dead letter queue, or empty string if not configured - `queue_name?: string` - `settings?: Settings` - `batch_size?: number` The maximum number of messages to include in a batch. - `max_retries?: number` The maximum number of retries - `retry_delay?: number` The number of seconds to delay before making the message available for another attempt. - `visibility_timeout_ms?: number` The number of milliseconds that a message is exclusively leased. After the timeout, the message becomes available for another attempt. - `type?: "http_pull"` - `"http_pull"` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const consumer of client.queues.consumers.list('023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', })) { console.log(consumer); } ``` #### Response ```json { "errors": [ { "code": 7003, "message": "No route for the URI", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ "string" ], "result": [ { "consumer_id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2019-12-27T18:11:19.117Z", "dead_letter_queue": "dead_letter_queue", "queue_name": "example-queue", "script_name": "my-consumer-worker", "settings": { "batch_size": 50, "max_concurrency": 10, "max_retries": 3, "max_wait_time_ms": 5000, "retry_delay": 10 }, "type": "worker" } ], "success": true } ``` ## Get Queue Consumer `client.queues.consumers.get(stringqueueId, stringconsumerId, ConsumerGetParamsparams, RequestOptionsoptions?): Consumer` **get** `/accounts/{account_id}/queues/{queue_id}/consumers/{consumer_id}` Fetches the consumer for a queue by consumer id ### Parameters - `queueId: string` A Resource identifier. - `consumerId: string` A Resource identifier. - `params: ConsumerGetParams` - `account_id: string` A Resource identifier. ### Returns - `Consumer = MqWorkerConsumerResponse | MqHTTPConsumerResponse` Response body representing a consumer - `MqWorkerConsumerResponse` - `consumer_id?: string` A Resource identifier. - `created_on?: string` - `dead_letter_queue?: string` Name of the dead letter queue, or empty string if not configured - `queue_name?: string` - `script_name?: string` Name of a Worker - `settings?: Settings` - `batch_size?: number` The maximum number of messages to include in a batch. - `max_concurrency?: number` Maximum number of concurrent consumers that may consume from this Queue. Set to `null` to automatically opt in to the platform's maximum (recommended). - `max_retries?: number` The maximum number of retries - `max_wait_time_ms?: number` The number of milliseconds to wait for a batch to fill up before attempting to deliver it - `retry_delay?: number` The number of seconds to delay before making the message available for another attempt. - `type?: "worker"` - `"worker"` - `MqHTTPConsumerResponse` - `consumer_id?: string` A Resource identifier. - `created_on?: string` - `dead_letter_queue?: string` Name of the dead letter queue, or empty string if not configured - `queue_name?: string` - `settings?: Settings` - `batch_size?: number` The maximum number of messages to include in a batch. - `max_retries?: number` The maximum number of retries - `retry_delay?: number` The number of seconds to delay before making the message available for another attempt. - `visibility_timeout_ms?: number` The number of milliseconds that a message is exclusively leased. After the timeout, the message becomes available for another attempt. - `type?: "http_pull"` - `"http_pull"` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const consumer = await client.queues.consumers.get( '023e105f4ecef8ad9ca31a8372d0c353', '023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(consumer); ``` #### Response ```json { "errors": [ { "code": 7003, "message": "No route for the URI", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ "string" ], "result": { "consumer_id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2019-12-27T18:11:19.117Z", "dead_letter_queue": "dead_letter_queue", "queue_name": "example-queue", "script_name": "my-consumer-worker", "settings": { "batch_size": 50, "max_concurrency": 10, "max_retries": 3, "max_wait_time_ms": 5000, "retry_delay": 10 }, "type": "worker" }, "success": true } ``` ## Create a Queue Consumer `client.queues.consumers.create(stringqueueId, ConsumerCreateParamsparams, RequestOptionsoptions?): Consumer` **post** `/accounts/{account_id}/queues/{queue_id}/consumers` Creates a new consumer for a Queue ### Parameters - `queueId: string` A Resource identifier. - `ConsumerCreateParams = MqWorkerConsumerRequest | MqHTTPConsumerRequest` - `ConsumerCreateParamsBase` - `MqWorkerConsumerRequest extends ConsumerCreateParamsBase` - `MqHTTPConsumerRequest extends ConsumerCreateParamsBase` ### Returns - `Consumer = MqWorkerConsumerResponse | MqHTTPConsumerResponse` Response body representing a consumer - `MqWorkerConsumerResponse` - `consumer_id?: string` A Resource identifier. - `created_on?: string` - `dead_letter_queue?: string` Name of the dead letter queue, or empty string if not configured - `queue_name?: string` - `script_name?: string` Name of a Worker - `settings?: Settings` - `batch_size?: number` The maximum number of messages to include in a batch. - `max_concurrency?: number` Maximum number of concurrent consumers that may consume from this Queue. Set to `null` to automatically opt in to the platform's maximum (recommended). - `max_retries?: number` The maximum number of retries - `max_wait_time_ms?: number` The number of milliseconds to wait for a batch to fill up before attempting to deliver it - `retry_delay?: number` The number of seconds to delay before making the message available for another attempt. - `type?: "worker"` - `"worker"` - `MqHTTPConsumerResponse` - `consumer_id?: string` A Resource identifier. - `created_on?: string` - `dead_letter_queue?: string` Name of the dead letter queue, or empty string if not configured - `queue_name?: string` - `settings?: Settings` - `batch_size?: number` The maximum number of messages to include in a batch. - `max_retries?: number` The maximum number of retries - `retry_delay?: number` The number of seconds to delay before making the message available for another attempt. - `visibility_timeout_ms?: number` The number of milliseconds that a message is exclusively leased. After the timeout, the message becomes available for another attempt. - `type?: "http_pull"` - `"http_pull"` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const consumer = await client.queues.consumers.create('023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', script_name: 'my-consumer-worker', type: 'worker', }); console.log(consumer); ``` #### Response ```json { "errors": [ { "code": 7003, "message": "No route for the URI", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ "string" ], "result": { "consumer_id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2019-12-27T18:11:19.117Z", "dead_letter_queue": "dead_letter_queue", "queue_name": "example-queue", "script_name": "my-consumer-worker", "settings": { "batch_size": 50, "max_concurrency": 10, "max_retries": 3, "max_wait_time_ms": 5000, "retry_delay": 10 }, "type": "worker" }, "success": true } ``` ## Update Queue Consumer `client.queues.consumers.update(stringqueueId, stringconsumerId, ConsumerUpdateParamsparams, RequestOptionsoptions?): Consumer` **put** `/accounts/{account_id}/queues/{queue_id}/consumers/{consumer_id}` Updates the consumer for a queue, or creates one if it does not exist. ### Parameters - `queueId: string` A Resource identifier. - `consumerId: string` A Resource identifier. - `ConsumerUpdateParams = MqWorkerConsumerRequest | MqHTTPConsumerRequest` - `ConsumerUpdateParamsBase` - `MqWorkerConsumerRequest extends ConsumerUpdateParamsBase` - `MqHTTPConsumerRequest extends ConsumerUpdateParamsBase` ### Returns - `Consumer = MqWorkerConsumerResponse | MqHTTPConsumerResponse` Response body representing a consumer - `MqWorkerConsumerResponse` - `consumer_id?: string` A Resource identifier. - `created_on?: string` - `dead_letter_queue?: string` Name of the dead letter queue, or empty string if not configured - `queue_name?: string` - `script_name?: string` Name of a Worker - `settings?: Settings` - `batch_size?: number` The maximum number of messages to include in a batch. - `max_concurrency?: number` Maximum number of concurrent consumers that may consume from this Queue. Set to `null` to automatically opt in to the platform's maximum (recommended). - `max_retries?: number` The maximum number of retries - `max_wait_time_ms?: number` The number of milliseconds to wait for a batch to fill up before attempting to deliver it - `retry_delay?: number` The number of seconds to delay before making the message available for another attempt. - `type?: "worker"` - `"worker"` - `MqHTTPConsumerResponse` - `consumer_id?: string` A Resource identifier. - `created_on?: string` - `dead_letter_queue?: string` Name of the dead letter queue, or empty string if not configured - `queue_name?: string` - `settings?: Settings` - `batch_size?: number` The maximum number of messages to include in a batch. - `max_retries?: number` The maximum number of retries - `retry_delay?: number` The number of seconds to delay before making the message available for another attempt. - `visibility_timeout_ms?: number` The number of milliseconds that a message is exclusively leased. After the timeout, the message becomes available for another attempt. - `type?: "http_pull"` - `"http_pull"` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const consumer = await client.queues.consumers.update( '023e105f4ecef8ad9ca31a8372d0c353', '023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', script_name: 'my-consumer-worker', type: 'worker', }, ); console.log(consumer); ``` #### Response ```json { "errors": [ { "code": 7003, "message": "No route for the URI", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ "string" ], "result": { "consumer_id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2019-12-27T18:11:19.117Z", "dead_letter_queue": "dead_letter_queue", "queue_name": "example-queue", "script_name": "my-consumer-worker", "settings": { "batch_size": 50, "max_concurrency": 10, "max_retries": 3, "max_wait_time_ms": 5000, "retry_delay": 10 }, "type": "worker" }, "success": true } ``` ## Delete Queue Consumer `client.queues.consumers.delete(stringqueueId, stringconsumerId, ConsumerDeleteParamsparams, RequestOptionsoptions?): ConsumerDeleteResponse` **delete** `/accounts/{account_id}/queues/{queue_id}/consumers/{consumer_id}` Deletes the consumer for a queue. ### Parameters - `queueId: string` A Resource identifier. - `consumerId: string` A Resource identifier. - `params: ConsumerDeleteParams` - `account_id: string` A Resource identifier. ### Returns - `ConsumerDeleteResponse` - `errors?: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages?: Array` - `success?: true` Indicates if the API call was successful or not. - `true` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const consumer = await client.queues.consumers.delete( '023e105f4ecef8ad9ca31a8372d0c353', '023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(consumer.errors); ``` #### Response ```json { "errors": [ { "code": 7003, "message": "No route for the URI", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ "string" ], "success": true } ``` ## Domain Types ### Consumer - `Consumer = MqWorkerConsumerResponse | MqHTTPConsumerResponse` Response body representing a consumer - `MqWorkerConsumerResponse` - `consumer_id?: string` A Resource identifier. - `created_on?: string` - `dead_letter_queue?: string` Name of the dead letter queue, or empty string if not configured - `queue_name?: string` - `script_name?: string` Name of a Worker - `settings?: Settings` - `batch_size?: number` The maximum number of messages to include in a batch. - `max_concurrency?: number` Maximum number of concurrent consumers that may consume from this Queue. Set to `null` to automatically opt in to the platform's maximum (recommended). - `max_retries?: number` The maximum number of retries - `max_wait_time_ms?: number` The number of milliseconds to wait for a batch to fill up before attempting to deliver it - `retry_delay?: number` The number of seconds to delay before making the message available for another attempt. - `type?: "worker"` - `"worker"` - `MqHTTPConsumerResponse` - `consumer_id?: string` A Resource identifier. - `created_on?: string` - `dead_letter_queue?: string` Name of the dead letter queue, or empty string if not configured - `queue_name?: string` - `settings?: Settings` - `batch_size?: number` The maximum number of messages to include in a batch. - `max_retries?: number` The maximum number of retries - `retry_delay?: number` The number of seconds to delay before making the message available for another attempt. - `visibility_timeout_ms?: number` The number of milliseconds that a message is exclusively leased. After the timeout, the message becomes available for another attempt. - `type?: "http_pull"` - `"http_pull"` ### Consumer Delete Response - `ConsumerDeleteResponse` - `errors?: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages?: Array` - `success?: true` Indicates if the API call was successful or not. - `true`