Сервис уведомления по электронной почте

Я думаю, что может произойти, что ваша реализация рекурсивна, и из-за этого GC никогда не сможет выпустить все ваши предыдущие копии! (Или, может быть, есть какая-то другая причина, по которой ГХ не может выпустить эти предметы)

В эволюционном программировании вам часто нужно только сохранить определенное количество самых результативных «детей», если я правильно помню. Вы должны хранить отдельный список этих детей и вставлять новых в список, но также обязательно удалять старые! Теперь также убедитесь, что ваша реализация не является рекурсивной, и больше нет ссылок на старые экземпляры. Если вы сделаете это правильно, GC правильно освободит все экземпляры, которые вы не используете, и ваши проблемы могут просто исчезнуть:)


РЕДАКТИРОВАТЬ: после комментария OP:


[ 115] Я не совсем уверен, что делает функция mutate_neuralnetwork. Но, глядя на ваш код и принимая во внимание тот факт, что копирование становится все более медленным, возможно, ваша структура данных рекурсивна. То есть если copied_animal содержит ссылку на предыдущий экземпляр, который, в свою очередь, ссылается и даже на более раннюю версию, и тогда вы можете представить, что в какой-то момент цепочка становится настолько длинной, что ее копирование занимает много времени. Это были бы старые ссылки. Убедитесь, что у вас нет рекурсивной структуры данных, ИЛИ иногда установка переменных на None может помочь GC определить, что они больше не нужны.

5
задан George 11 November 2008 в 14:12
поделиться

6 ответов

Можно использовать триггеры для отправки электронных писем на, ОБНОВЛЯЮТ/УДАЛЯЮТ/ВСТАВЛЯЮТ. Триггеры могут быть реализованы с .NET, просто отправить письма оттуда с помощью классов в Системе. Сеть. Почтовое пространство имен.

Вот хорошая статья, как реализовать CLR (.NET) триггеры в .NET.

Для легкого сервера SMPT, и минимизировать задержки, можно использовать ту, рекомендуемую в ответе Kenny.

1
ответ дан 15 December 2019 в 01:14
поделиться

Обычно, я просто вращаю процесс, такой как http://caspian.dotconf.net/menu/Software/SendEmail/

0
ответ дан 15 December 2019 в 01:14
поделиться
0
ответ дан 15 December 2019 в 01:14
поделиться

Спасибо все для обратной связи. Для пользы простоты я начал с SP, который ищет напоминания, которые будут отправлены, и использует sp_ send_ dbmail (Почта Базы данных SQL) для отправки электронных писем. Это работает на задании каждую минуту. Я обновляю запись, чтобы указать, что напоминание было отправлено с MailItemId, переданным обратно от sp_ send_ dbmail. Объем ожидаемых напоминаний является худшим случаем в 10^2 диапазон в день.

Я хотел бы услышать, что обратная связь о любых людях недостатков думает, что это решение может иметь.

Между прочим, я не могу полагать, что Vista не идет с локальным сервером SMTP! Google Luckily более щедр, я использовал сервер Gmail для тестирования.

1
ответ дан 15 December 2019 в 01:14
поделиться

Я собирался предложить SQL Server Notification Services, которая обработает задание приятно. Но я вижу, что это было отброшено от SQL Server 2008, таким образом, Вы, вероятно, не хотите идти туда.

0
ответ дан 15 December 2019 в 01:14
поделиться

Я создал несколько сервисов уведомления по электронной почте большого объема, используемых для отправки управляемых данными электронных писем в прошлом. Несколько рекомендаций:

  • Изучите использование высококачественного поставщика почтового сервиса, который специализируется на управлении возвратами, отказывается от подписки, isp и управление черным списком, и т.д. Если отправка электронного письма очень важна для Вашего бизнеса, но не Вашего основного бизнеса, это будет стоить того. Большинство будет иметь API для отправки шаблонных сообщений, нажать отслеживание, открытые уровни и будет иметь, обеспечивают триггеры и т.д.
  • Изучите Брокера SQL Server Service для организации очередей фактических сообщений, иначе можно рассмотреть Microsoft Message Queuing Services. Нет никакой потребности создать Ваш собственный сервис организации очередей. Мы провели слишком много времени, имея дело с кодом инфраструктуры организации очередей, когда это было уже решено.
  • Разработайте гибкий набор событий на Вашем бизнес-уровне, чтобы допускать инициирование таких сообщений и поместить их в Вашу очередь асинхронно, это сохранит Вас много горя в конечном счете в противоположность опросу на DB или взламыванию его в с триггерами Базы данных.
2
ответ дан 15 December 2019 в 01:14
поделиться
Другие вопросы по тегам:

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