План технического обслуживания для ASP.Net SQL Server SessionState (ASPState) база данных

Измененный от эти рецепты раздел itertools Python документы:

from itertools import zip_longest

def grouper(iterable, n, fillvalue=None):
    args = [iter(iterable)] * n
    return zip_longest(*args, fillvalue=fillvalue)

Пример
В псевдокоде для хранения примера кратким.

grouper('ABCDEFG', 3, 'x') --> 'ABC' 'DEF' 'Gxx'

Примечание: на использовании Python 2 izip_longest вместо zip_longest.

7
задан Dan Malcolm 31 July 2009 в 12:28
поделиться

1 ответ

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

Проблема в том, что многопроцессорность блокируется на waitpid до тех пор, пока дочерний элемент, которого он ожидает, не завершится. Однако, поскольку вы установили обработчик сигналов для SIGINT, и ваша программа получает этот сигнал, она прерывает системный вызов для выполнения обработчика сигнала, и waitpid завершает работу, указывая, что он был прерван сигналом. Python обрабатывает этот случай с помощью исключений.

В качестве обходного пути вы можете заключить проблемные разделы в цикл while и блоки try / catch, подобные этому, либо там, где вы ждете завершения потоков, Создайте план обслуживания с этими параметрами: - Проверить целостность базы данных - Реорганизовать индекс - Очистите историю

Запланируйте это раз в неделю, и все будет в порядке.

3
ответ дан 7 December 2019 в 16:44
поделиться
Другие вопросы по тегам:

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