max_execution_time = 1000
memory_limit = 512M
[Unit]
Description=Get content from email
After=network.target
After=mysql.service
Requires=mysql.service
[Service]
Type=simple
User=site
Group=site
WorkingDirectory=/home/site/htdocs/worker
ExecStart=/usr/bin/timeout --signal=SIGINT --kill-after=350 300 /usr/bin/php get_from_mail.php
MemoryLimit=512M
Restart=always
RestartSec=60
[Install]
WantedBy=multi-user.target
$shallStopWorking = false;
pcntl_signal(SIGTERM, function () use (&$shallStopWorking) { $shallStopWorking = true; });
pcntl_signal(SIGINT, function () use (&$shallStopWorking) { $shallStopWorking = true; });
while (!$shallStopWorking) {
$mailbox = new PhpImap\Mailbox( '{imap.yandex.ru:993/imap/ssl}INBOX', ... );
$check = $mailbox->checkMailbox();
if ($check !== FALSE && $check->Nmsgs > 0) {
$mailsIds = $mailbox->searchMailBox('ALL');
if (!empty($mailsIds)) {
... работа с письмами ...
}
}
$mailbox->disconnect();
sleep(60);
pcntl_signal_dispatch();
}
Проблема была в генерировании изображений, которое происходит на лету движком
Если изображения нет, то оно создается на сервере и после чего отправляется клиенту, но не передается Content-length, из-за чего и происходит такой сбой. После добавления данного параметра - все стало нормально.