Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import mysql.connector
- import requests
- import json
- from statModule import *
- def openJSONFile(fileName):
- jsonData = open(fileName)
- data = json.load(jsonData)
- jsonData.close()
- return data
- def saveJSONFile(fileName, result):
- j=json.dumps(result,cls=NumpyAwareJSONEncoder)
- f=open(fileName,"w")
- f.write(j)
- f.close()
- def saveStringToFile(fileName, result):
- f=open(fileName,"w")
- f.write(result)
- f.close()
- class NumpyAwareJSONEncoder(json.JSONEncoder):
- def default(self, obj):
- return json.JSONEncoder.default(self, obj)
- import sys
- # Доступные статусы status
- # 1 - Шаг модели 1
- # 2 - Шаг модели 2
- # 3 - Шаг модели 3
- # 4 - Шаг модели 4
- # 5 - Модель прошла проверку
- # 110 - готова к вычислениям
- # 6 - Модель вычисляется
- # 7 - готова к отправке на стат. обработку
- # 8 - готова к выводу
- calc_file_path = '~/PycharmProjects/daemon/spiiran/disp/'
- url = 'http://192.168.1.10:7660'
- headers = {"Content-type": "application/json", "Accept": "application/json"}
- conn = mysql.connector.connect(host='127.0.0.1', port=8889, database='astra', user='root', password='root')
- cursor = conn.cursor()
- # Тут блок с опросом вычислителя
- cursor.execute("SELECT * FROM model WHERE status=6 LIMIT 1")
- row = cursor.fetchone()
- if row is not None:
- id = row[0]
- print(row)
- values = {"status": 2}
- r = requests.post(url, json.dumps(values), headers)
- response = r.json()
- print(response)
- # Блок проверики статуса вычислителя
- if response['status'] == 1:
- sql = "UPDATE model SET calc_count={} WHERE id={}".format(response['count'], id)
- cursor.execute(sql)
- conn.commit()
- print(response['count'])
- if response['status'] == 0:
- sql = "UPDATE model SET status=7 WHERE id={}".format(id)
- cursor.execute(sql)
- conn.commit()
- file_name = row[8]
- #values = openJSONFile(file_name)
- #values['status'] = 1
- saveJSONFile('stat_file.json', response)
- print(response['matrix'])
- if response['status'] == -1:
- print("Все очень плохо")
- # Если есть запись на счет - выводим количество или ошибку, завершаем скрипт
- exit()
- # конец блока
- # Конец блока
- # Тут блок с посылом нового файла на вычисление
- cursor.execute("SELECT * FROM model WHERE status=110 ORDER BY date_add LIMIT 1")
- row = cursor.fetchone()
- if row is not None:
- # Тут блок с вычислителем, посылаем файл на обработку
- file_name = row[8]
- values = openJSONFile(file_name)
- values['status'] = 1
- r = requests.post(url, json.dumps(values), headers)
- response = r.json()
- # Конец блока
- # Если ответ 0 - начали вычисления #
- if response['status'] == 0:
- id = row[0]
- sql = "UPDATE model SET status=6 WHERE id={}".format(id)
- cursor.execute(sql)
- conn.commit()
- exit()
- #Конец блока
- # Тут блок с посылом нового файла на статистический анализ
- cursor.execute("SELECT * FROM model WHERE status=7 ORDER BY date_add LIMIT 1")
- row = cursor.fetchone()
- if row is not None:
- print(row)
- # Тут блок с посылом на статистику, посылаем файл на обработку
- response = {'status': 0}
- id = row[0]
- # Конец блока
- if response['status'] == 0:
- stat_main("stat_file.json")
- print('Послал на статистику :) id = {}'.format(id))
- exit()
- #конец блока
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement