time.sleep()函数永远睡眠

时间:2018-02-19 07:23:25

标签: python

您好我有一个简单的python脚本应该定期执行某些操作。这是代码:

<form role="form">
<script  cam-script type="text/form-script">
$scope.selectedRow = null;
   var  persons = $scope.persons = [
        {
           "id": 1,
           "name": "name1",
           "age":"454",
           "description":"this is  simple name"

       } ,
       {
           "id": 2,
           "name": "name2",
            "age":"4543",
           "description":"this is  simple name"

       },
      {
           "id": 3,
           "name": "name2",
            "age":"4543",
           "description":"this is  simple name"

       }
       ];
   camForm.on('form-loaded', function() {
          camForm.variableManager.createVariable({
            name: 'persons',
            type: 'Array',
            value: persons
          });
 });



$scope.pageNumber = 0;
$scope.IsHidden=true;;
    $scope.setPageNumber = function(index) {
        $scope.pageNumber = index;
          $scope.IsHidden = $scope.IsHidden ? false : true;
    }
</script>


<div class="container">
<table class="table table-condensed" style="border-collapse:collapse;">

    <thead>
        <tr>
            <th>id</th>
            <th>name</th>
            <th>age</th>
            <th>&nbsp;</th>
        </tr>
    </thead>

    <tbody ng-repeat="item in persons " >
       <tr >
            <td>{{item.id}}</td>
            <td>{{item.name}}</td>
            <td>{{item.age}}</td>
            <td><button class="btn btn-default btn-xs"  ><span class="glyphicon glyphicon-eye-open" ng-class="{$index == pageNumber }" ng-click="setPageNumber($index)($index)"></span></button></td>
        </tr>
         <tr ng-hide="IsHidden">
            <td>

    <label for="id" class="control-label">details</label>
     <div class="controls">
      <input id="description" class="form-control" type="text" ng-model="item.description" required  readonly/>
    </td>
        </tr>
    </tbody>
</table>
</div>
</form>  

如果我让这个代码运行,它在前2-3个小时内完全正常,因为它会打印&#34;睡觉前#34;然后59秒后它将打印&#34;睡眠后#34;等等。然而,在最初的几个小时后,似乎卡在time.sleep(59)线上。我之所以知道它冻结的原因是因为它会打印出来#34;睡觉之前&#34;在终端然后它将永远不会再打印任何东西。我看到一篇帖子说它可能是PowerShell中QuickEdit模式的一个问题,所以我尝试禁用它,它仍然有同样的问题。有什么建议吗?

由于

1 个答案:

答案 0 :(得分:0)

在这种情况下使用while True是一个坏习惯。您应该使用 cron 任务计划程序。

回到你的代码 - 如果它能在几个小时内正常工作,那就意味着#Lots more code部分存在一个错误。 time.sleep()本身没问题。