Общий архитектурный вопрос

Для других людей, приезжающих сюда, возможно, вы попробовали INSERT IGNORE INTO, и у вас есть значение UNIQUE, которое уже было вставлено. В этом случае этот id равен нулю.

Также вы получите «ноль», если MySQL закончит соединение. Я не эксперт в отношении постоянных подключений, но это может помочь кому-то?

Как вы, вероятно, знаете, что расширение PHP «mysql» поддерживает постоянные соединения, но они были отключены в новом расширении «mysqli» - Peter Zaitsev

1
задан bearrito 8 July 2010 в 01:38
поделиться

2 ответа

Я считаю, что (как правило) лучшая архитектура - это просто простейшая архитектура, которая удовлетворяет всем требованиям.

Я сразу вижу два варианта:

  • Простое консольное приложение, которое запускается по расписанию
  • Простая служба, которая запускается

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

  • Что произойдет, если кто-то захочет вручную запустить загрузку?
  • Теперь вам также нужно возиться с таймерами, потоками и т. д ...
  • Что произойдет, если произойдет сбой?
  • и т. Д.

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

2
ответ дан 2 September 2019 в 23:12
поделиться

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

0
ответ дан 2 September 2019 в 23:12
поделиться
Другие вопросы по тегам:

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