123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- # -*- coding: utf-8 -*-
- # !/usr/bin/env python
- import datetime
- import os
- import struct
- import time
- import arrow
- from bson import ObjectId
- from base import init_env
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", "configs.production")
- init_env(interactive = False)
- from mongoengine import StringField,DateField,IntField
- from django.db.models.fields import FloatField, DateTimeField
- from apps.web.device.models import Device
- from apps.web.core.db import Searchable
- from apps.web.core.helpers import ActionDeviceBuilder
- from apps.web.constant import Const
- class TesterLog(Searchable):
- devNo = StringField(verbose_name = 'devNo',default = '')
- port = IntField(verbose_name = 'port',default = 1)
- dateTimeAdded = DateTimeField(verbose_name = 'datetime',default = datetime.datetime.now)
- power = IntField(verbose_name = 'power',default = 1.0)
- ampere = IntField(verbose_name = 'ampere',default = 1.0)
- voltage = IntField(verbose_name = 'voltage',default = 1.0)
-
- meta = {'collection': 'tester_log', 'db_alias': 'logdata'}
- devNos = ['862167056729985','862167056665890','862167056722444','862167056665593']
- ii = 0
- portDict = {}
- while True:
- try:
- if ii > 100000:
- ii = 0
- for devNo in devNos:
- dev = Device.get_dev(devNo)
- box = ActionDeviceBuilder.create_action_device(dev)
- if ii % 40 == 0:
- portDict = box.get_port_status()
- print portDict
-
- for port,info in portDict.items():
- if info['status'] == Const.DEV_WORK_STATUS_WORKING:
- detail = box.get_port_info(port)
- if detail['status'] == Const.DEV_WORK_STATUS_IDLE:
- continue
- newRcd = TesterLog(devNo = devNo,port=port,dateTimeAdded = time.time(),power = detail['power'],ampere=detail['ampere']*1000,voltage=detail['voltage'])
- newRcd.save()
- else:
- continue
-
- time.sleep(5)
- except Exception,e:
- continue
-
- print 'a'
|