本文整理匯總了PHP中Aws\Sqs\SqsClient::sendMessageBatchAsync方法的典型用法代碼示例。如果您正苦於以下問題:PHP SqsClient::sendMessageBatchAsync方法的具體用法?PHP SqsClient::sendMessageBatchAsync怎麽用?PHP SqsClient::sendMessageBatchAsync使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Aws\Sqs\SqsClient
的用法示例。
在下文中一共展示了SqsClient::sendMessageBatchAsync方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: doFlush
/**
* Flush a queue
*
* @param bool $async
* @return void
*/
private function doFlush(bool $async)
{
// SQS only supports batch of 10, so we need to splice like that
while (!empty($this->messages)) {
$messagesToPush = array_splice($this->messages, 0, 10);
$parameters = ['QueueUrl' => $this->url, 'Entries' => []];
foreach ($messagesToPush as $key => $message) {
$messageParameters = ['Id' => $key, 'MessageBody' => json_encode($message['body'], self::DEFAULT_JSON_FLAGS), 'DelaySeconds' => $message['options']['delay_seconds'] ?? null];
$parameters['Entries'][] = array_filter($messageParameters, function ($value) {
return $value !== null;
});
}
if ($async) {
$this->sqsClient->sendMessageBatchAsync($parameters);
} else {
$this->sqsClient->sendMessageBatch($parameters);
}
}
}