2012-06-05 4 views
1

У меня есть тестовый скрипт, который спит для случайного количества секунд, между 1 и 180 секундами. Программа тестирования будет висеть более 3 минут.Python time.sleep() зависает

Итак, я изменил код так, чтобы он спал 60 секунд (1 минута) и запускал скрипт. Через 20 часов (!!!) код все еще висит на time.sleep().

Код

downtime = 60 
time.sleep(downtime) 

Почему Python повесить вечно на time.sleep (60)?

+0

Это весь сценарий? Если нет, можете ли вы опубликовать его здесь? –

+0

Что должно было произойти после окончания сна? (то есть, как вы можете знать, что сон еще не закончен?) – heltonbiker

+3

Вероятно, потому что 'downTime' установлен на большое число. –

ответ

3

Несмотря на то, что time.sleep() разрешено приостанавливать вашу нить на более короткий или более короткий интервал, чем вы просите, time.sleep(60) не будет приостанавливать вашу нить в течение 20 часов.

Я вижу несколько возможных объяснений:

  1. Вы вызываете time.sleep() несколько раз (например, в цикле).
  2. Вы вызываете time.sleep() с аргументом, который намного выше 60 (обратите внимание на два разных способа написания downtime/downTime в вашем коде).
  3. Проблема не имеет отношения к time.sleep().
4

Вы можете использовать 2 различных переменных простои и ПРОСТОЕВ. Возможно, downTime больше 60

+0

Нет, я сделал опечатку в своем коде Оба используют «downTime», – SQA777

Смежные вопросы