mysql — PHP Amazon SQS Big Data

Я впервые использую Amazon SQS.

Я все еще немного запутался, как хранить большие куски данных более 50000 результатов из базы данных и отправлять их в очередь.

Экземпляр AWS SQS

require_once __DIR__.'lib/aws/aws-autoloader.php';

try {

$aws_sqs_client = \Aws\Sqs\SqsClient::factory(array(
'region'  => 'eu-west-1',
'credentials' => array(
'key'       => AWS_ACCESS,
'secret'   => AWS_SECRET
)
));

} catch ( Exception $e ) {

}

MYSQL Query

$q = 'SELECT user_id, user_email FROM user' // This has more than 50000 rows
// Is this correct way? it will create 50000 queues?
foreach ( $q as $key => $row ) {
$result = $client->createQueue(array(
'QueueName' => 'string',
'Attributes' => array(
'Queue_key_'.$key => 'string',
),
));
}

Или мне нужно разделить результат на меньший результат, например, подсчитать количество страниц?

$q = 'SELECT user_id, user_email FROM user LIMIT 1000, 1' // Count total number of pages

$total_page = 500 // example;

for($i=1;$i<$total_page;$i++) { // then push it to the queue
$result = $client->createQueue(array(
'QueueName' => 'string',
'Attributes' => array(
'Queue_key_'.$i => 'LIMIT 1000, ',$i, // Mysql LIMIT
),
));
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …