Почтовая очередь ColdFusion прекращает обрабатывать

Используя getcwd() для извлечения в том же каталоге

<?php
$unzip = new ZipArchive;
$out = $unzip->open('wordpress.zip');
if ($out === TRUE) {
  $unzip->extractTo(getcwd());
  $unzip->close();
  echo 'File unzipped';
} else {
  echo 'Error';
}
?>
13
задан Ben Doom 25 September 2008 в 18:49
поделиться

5 ответов

Что мы закончили тем, что делали:

Я записал две запланированных задачи. Первое проверило, чтобы видеть, были ли какие-либо сообщения в папке очереди, более старой, чем n minues (в настоящее время набор к 30). Второй сброс очередь каждую ночь во время низкого использования.

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

Править: Меня попросили отправить мой код, таким образом, вот тот для перезапуска, когда старая почта найдена:

<cfdirectory action="list" directory="c:\coldfusion8\mail\spool\" name="spool" sort="datelastmodified">
<cfset restart = 0>
<cfif datediff('n', spool.datelastmodified, now()) gt 30>
    <cfset restart = 1>
</cfif>
<cfif restart>
    <cfset sFactory = CreateObject("java","coldfusion.server.ServiceFactory")>
    <cfset MailSpoolService = sFactory.mailSpoolService>
    <cfset MailSpoolService.stop()>
    <cfset MailSpoolService.start()>
</cfif>
12
ответ дан 1 December 2019 в 21:39
поделиться

Мы не попытались выполнить это, не используя очередь, из-за большой суммы почты, которую мы отправляем

Невнимательный, имеем Вас , попробовал выключение буферизации? Я видел, что почта отправляется на уровне 500-600 сообщений за половину секунды, и это идет своего рода дрянной сервер. Со стандартным тайм-аутом страницы в 60 секунд, которые были бы ~72 000 электронными письмами, которые Вы могли послать, прежде чем испытает таймаут страница. Вы отправляете больше чем 72 000 за один раз?

альтернатива я использовал, прежде чем CFMail был, это быстро должно было создать пользовательский спулер. Вместо того, чтобы послать электронные письма на лету, сохраните их к таблице базы данных. Тогда установите запланированное задание, чтобы отправить несколько сотен из сообщений и перенести себя для несколько минут спустя, пока таблица не будет пуста.

Мы запланировали задание для выполнения один раз в день; и это может перенести себя для выполнения снова через несколько минут, если таблица не пуста. Никогда не имел проблему с ним.

5
ответ дан 1 December 2019 в 21:39
поделиться

Вы попытались просто обойти очередь в целом? (В Администраторе CF, при настройках Mail Spool, снятие флажка "Сообщения электронной почты шпульки для доставки".)

3
ответ дан 1 December 2019 в 21:39
поделиться

У меня иногда есть та же проблема, и это не происходит из-за нулевого файла байта, хотя та проблема действительно неожиданно возникала в прошлом. Кажется, что один или два файла (самые старые в папке) помешают очереди обрабатывать. То, что я делаю, переместить все сообщения к папке содержания, перезапустить почтовую очередь и скопировать сообщения назад в блоке за один раз в обратном хронологическом порядке, ожидать их, чтобы выйти и переместить еще немного. Сообщения, которые держали очередь, помещаются в отдельную папку, которая будет исследована последние.

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

Я надеюсь помогание.

3
ответ дан 1 December 2019 в 21:39
поделиться

Существует проблема с почтовым спулером и сообщения с вложениями в CFMX 8, который был зафиксирован с одним из Текущих исправлений. Версия 8.0.1, по крайней мере, должна была иметь, это зафиксировало.

0
ответ дан 1 December 2019 в 21:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: