Многопроцессорная обработка Python: Пул пользовательских Процессов

Синтетический мониторинг , скорее всего, является типом теста сдвига вправо , который вы ищете, чтобы

имели эффективное и хорошее поддержание в эффективном

blockquote>

на

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

blockquote>

По моему опыту (внутренний запуск и мониторинг как услуга), в большинстве случаев не требуется другой среды тестирования E2E GUI. Ключ заключается в том, чтобы найти наиболее важные для бизнеса маршруты / маршруты и охватить их с приличной частотой и географическим местоположением. Имейте в виду, что пишет и не всегда желательно, поэтому в большинстве случаев мы обращаемся к приложению только с и только с . Хорошее начало - набор тестов дыма, который вы уже должны иметь, возьмите его и заставьте работать в Production. Выполнение таких проверок на регулярной основе действительно зависит от необходимости - например, мы нажимаем кнопку входа каждые 5 минут, но обращаемся к пользовательским настройкам каждые 15 минут.

насколько подробны эти тесты по сравнению с тестированием новой системы?

blockquote>

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

я должен также проводить некоторые тесты, которые проверяют скорость или производительность веб-сайта в таком сценарии?

blockquote>

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

6
задан Ram Rachum 11 April 2009 в 21:53
поделиться

2 ответа

От Джесси Ноллера:

В настоящее время он не поддерживается в API, но не будет плохим дополнением. Я посмотрю на добавление его в python2.7/2.6.3 3.1 this week

3
ответ дан 17 December 2019 в 00:14
поделиться

Я не вижу никакой ловушки для этого в API. Вы можете избежать репликации нужной вам функциональности, используя аргументы initializer и initargs . Кроме того, вы можете встроить функциональность в вызываемый объект, который вы используете для отображения:

class EdgeRenderTask(object):
    def op1(self,*args):
        ...
    def op2(self,*args):
        ...
p = Pool(processes = 10)
e = EdgeRenderTask()
p.apply_async(e.op1,arg_list)
p.map(e.op2,arg_list)
2
ответ дан 17 December 2019 в 00:14
поделиться
Другие вопросы по тегам:

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