Server : Apache System : Linux indy02.toastserver.com 3.10.0-962.3.2.lve1.5.85.el7.x86_64 #1 SMP Thu Apr 18 15:18:36 UTC 2024 x86_64 User : palandch ( 1163) PHP Version : 7.1.33 Disable Function : NONE Directory : /home/palandch/www/core/model/aws/utilities/ |
<?php /* * Copyright 2010-2011 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /*%******************************************************************************************%*/ // EXCEPTIONS /** * Default CFBatchRequest Exception. */ class CFBatchRequest_Exception extends Exception {} /*%******************************************************************************************%*/ // CLASS /** * Simplifies the flow involved with managing and executing a batch request queue. Batch requesting is the * ability to queue up a series of requests and execute them all in parallel. This allows for faster * application performance when a lot of requests are involved. * * @version 2010.08.09 * @license See the included NOTICE.md file for more information. * @copyright See the included NOTICE.md file for more information. * @link http://aws.amazon.com/php/ PHP Developer Center */ class CFBatchRequest extends CFRuntime { /** * Stores the cURL handles that are to be processed. */ public $queue; /** * Stores the size of the request window. */ public $limit; /*%******************************************************************************************%*/ // CONSTRUCTOR /** * Constructs a new instance of this class. * * @param integer $limit (Optional) The size of the request window. Defaults to unlimited. * @return boolean `false` if no valid values are set, otherwise `true`. */ public function __construct($limit = null) { $this->queue = array(); $this->limit = $limit ? $limit : -1; return $this; } /** * Adds a new cURL handle to the request queue. * * @param resource $handle (Required) A cURL resource to add to the queue. * @return $this A reference to the current instance. */ public function add($handle) { $this->queue[] = $handle; return $this; } /** * Executes the batch request queue. * * @param array $opt (DO NOT USE) Enabled for compatibility with the method this overrides, although any values passed will be ignored. * @return array An indexed array of <CFResponse> objects. */ public function send($opt = null) { $http = new $this->request_class(); // Make the request $response = $http->send_multi_request($this->queue, array( 'limit' => $this->limit )); return $response; } }