Сбой Amazon SES после 25 вызовов API

Я использую PHP для отправки писем через Amazon SES. Я неоднократно звоню в API, чтобы отправить около 1000 персонализированных писем. Однако после каждых 25 обращений к API я получаю следующую ошибку:

Fatal error: Uncaught exception 'Aws\Ses\Exception\SesException' with message 'Error executing "SendEmail" on "https://email.eu-west-1.amazonaws.com"; AWS HTTP error: cURL error 77: error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)' exception 'GuzzleHttp\Exception\RequestException' with message 'cURL error 77: error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)' in phar:///home/robcowen/public_html/scripts/aws.phar/GuzzleHttp/Handler/CurlFactory.php:187 Stack trace: #0 phar:///home/robcowen/public_html/scripts/aws.phar/GuzzleHttp/Handler/CurlFactory.php(150): GuzzleHttp\Handler\CurlFactory::createRejection(Object(GuzzleHttp\Handler\EasyHandle), Array) #1 phar:///home/robcowen/public_html/scripts/aws.phar/GuzzleHttp/Handler/CurlFactory.php(103): GuzzleHttp\Handler\CurlFactory::finishError(Object(GuzzleHttp\Handl in phar:///home/robcowen/public_html/scripts/aws.phar/Aws/WrappedHttpHandler.php on line 159

Я не могу найти никаких ссылок в документации до предела. Я попытался отложить цикл либо с помощью sleep (30) после каждого блока из 20 вызовов API, либо sleep (1) после каждого вызова. Ни то, ни другое не работает.

У кого-нибудь есть идеи, пожалуйста?

1

Решение

По моему опыту с такими ошибками, это происходит, когда есть несколько запросов на чтение файла через сокет, поэтому в какой-то момент во время цикла он не может найти сертификат и создает ошибку.

Плохой способ исправить это добавить sleep(1) перед каждым вызовом, чтобы дать ему время для загрузки сертификата на каждый запрос.

Лучший способ исправить это, отправив json список из 1000 пользователей в API или используя список рассылки (хотя я сделал это на других провайдерах, кроме SES). Один запрос, 1000 пользователей, гораздо более эффективный и дружественный к процессору для обеих машин во взаимодействии.

0

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector