本文整理匯總了Python中tester.Tester.testftpup方法的典型用法代碼示例。如果您正苦於以下問題:Python Tester.testftpup方法的具體用法?Python Tester.testftpup怎麽用?Python Tester.testftpup使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類tester.Tester
的用法示例。
在下文中一共展示了Tester.testftpup方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: _dotask
# 需要導入模塊: from tester import Tester [as 別名]
# 或者: from tester.Tester import testftpup [as 別名]
def _dotask(self, task):
'''
Esegue il complesso di test prescritti dal task entro il tempo messo a
disposizione secondo il parametro tasktimeout
'''
# TODO Mischiare i test: down, up, ping, down, up, ping, ecc...
if not self._isprobe and self._progress != None:
made = self._progress.howmany(datetime.fromtimestamp(timestampNtp()).hour)
if made >= MAX_MEASURES_PER_HOUR:
self._updatestatus(status.PAUSE)
return
bandwidth_sem.acquire() # Acquisisci la risorsa condivisa: la banda
logger.info('Inizio task di misura verso il server %s' % task.server)
# Area riservata per l'esecuzione della misura
# --------------------------------------------------------------------------
# TODO Inserire il timeout complessivo di task (da posticipare)
try:
self._updatestatus(status.PLAY)
# Profilazione iniziale del sistema
# ------------------------
base_error = 0
if self._profile_system() != 0:
base_error = 50000
# ip = sysmonitor.getIp(task.server.ip, 21)
dev = sysmonitor.getDev(task.server.ip, 21)
t = Tester(dev = dev, host = task.server, timeout = self._testtimeout,
username = self._client.username, password = self._client.password)
# TODO Pensare ad un'altra soluzione per la generazione del progressivo di misura
start = datetime.fromtimestamp(timestampNtp())
id = start.strftime('%y%m%d%H%M')
m = Measure(id, task.server, self._client, __version__, start.isoformat())
# Set task timeout alarm
# signal.alarm(self._tasktimeout)
# Testa gli ftp down
# ------------------------
i = 1;
while (i <= task.download):
self._updatestatus(status.Status(status.PLAY, "Esecuzione Test %d su %d" % (i, task.download + task.upload + task.ping)))
try:
# Profilazione del sistema
error = self._profile_system(sysmonitor.CHECK_ALL);
# Esecuzione del test
logger.info('Starting ftp download test (%s) [%d]' % (task.ftpdownpath, i))
test = t.testftpdown(task.ftpdownpath)
# Gestione degli errori nel test
if error > 0 or base_error > 0:
test.seterrorcode(error + base_error)
# Analisi da contabit
self._test_gating(test, DOWN)
# Salvataggio della misura
logger.debug('Download result: %.3f' % test.value)
logger.debug('Download error: %d, %d, %d' % (base_error, error, test.errorcode))
m.savetest(test)
i = i + 1
# Prequalifica della linea
if (test.value > 0):
bandwidth = int(round(test.bytes * 8 / test.value))
logger.debug('Banda ipotizzata in download: %d' % bandwidth)
task.update_ftpdownpath(bandwidth)
sleep(1)
# Cattura delle eccezioni durante la misura
except Exception as e:
if not datetime.fromtimestamp(timestampNtp()).hour == start.hour:
raise e
else:
logger.warning('Misura sospesa per eccezione %s' % e)
self._updatestatus(status.Status(status.ERROR, 'Misura sospesa per errore: %s Aspetto %d secondi prima di proseguire la misura.' % (e, TIME_LAG)))
sleep(TIME_LAG)
logger.info('Misura in ripresa dopo sospensione. Test download %d di %d' % (i, task.download))
self._updatestatus(status.Status(status.PLAY, 'Proseguo la misura. Misura in esecuzione'))
# Testa gli ftp up
i = 1;
while (i <= task.upload):
self._updatestatus(status.Status(status.PLAY, "Esecuzione Test %d su %d" % (i + task.download, task.download + task.upload + task.ping)))
try:
# Profilazione del sistema
error = self._profile_system(sysmonitor.CHECK_ALL);
# Esecuzione del test
logger.debug('Starting ftp upload test (%s) [%d]' % (task.ftpuppath, i))
test = t.testftpup(self._client.profile.upload * task.multiplier * 1000 / 8, task.ftpuppath)
#.........這裏部分代碼省略.........