Fix connections
This commit is contained in:
31
README.md
31
README.md
@@ -0,0 +1,31 @@
|
|||||||
|
Конфигурация сервиса:
|
||||||
|
сервис конфигурируется с помощью файла конфигурации src/config.py
|
||||||
|
```
|
||||||
|
ret_path - url с обратным адресом для информирования о выполнении операции
|
||||||
|
self_bnd - идентификатор текущего банка данных
|
||||||
|
enserver - url enserver xmlrpc endpoint
|
||||||
|
|
||||||
|
pg_host - параметры подключения к БД postgres с конфигурацией
|
||||||
|
pg_port
|
||||||
|
pg_dbname
|
||||||
|
pg_username
|
||||||
|
pg_password
|
||||||
|
|
||||||
|
oodb_host - параметры подключения к БД ООБД и схема с НПД
|
||||||
|
oodb_port
|
||||||
|
oodb_dbname
|
||||||
|
oodb_username
|
||||||
|
oodb_passwd
|
||||||
|
oodb_schema
|
||||||
|
|
||||||
|
rabbit_conn - строка соединения с rabbitmq
|
||||||
|
rabbit_queue - входящая очередь с информацией о коммитах
|
||||||
|
rabbit_incoming_queue - очередь с пакетами репликации от xmlrpcserver
|
||||||
|
rabbit_out_exchange - исходящий канал с пакетами в xmlrpcserver
|
||||||
|
rabbit_status_queue - входящая очередь с событиями о подключении и отключении банков данных
|
||||||
|
|
||||||
|
s3_endpoint - параметры соединения с S3
|
||||||
|
s3_key_id
|
||||||
|
s3_access_key
|
||||||
|
s3_bucket_itv - бакет для обмена с xmlrpcserver
|
||||||
|
```
|
||||||
@@ -16,8 +16,6 @@ import zlib
|
|||||||
import os.path
|
import os.path
|
||||||
import requests
|
import requests
|
||||||
from pika.channel import Channel
|
from pika.channel import Channel
|
||||||
|
|
||||||
from .reqs_graphql import get_catalog, get_object
|
|
||||||
from pygost import gost34112012256
|
from pygost import gost34112012256
|
||||||
import xml.etree.ElementTree as ET
|
import xml.etree.ElementTree as ET
|
||||||
from .reqs.request_xml_service import RequestXmlService
|
from .reqs.request_xml_service import RequestXmlService
|
||||||
@@ -160,9 +158,9 @@ def put_object(params, files, url):
|
|||||||
key = uuid4().hex
|
key = uuid4().hex
|
||||||
fileVal.fileName = variantToString(item.relative_to(dir.name))
|
fileVal.fileName = variantToString(item.relative_to(dir.name))
|
||||||
fileVal.key = variantToString(key)
|
fileVal.key = variantToString(key)
|
||||||
fileVal.bucket = variantToString(Config.s3_bucket)
|
fileVal.bucket = variantToString(Config.s3_bucket_itv)
|
||||||
res &= feature.addAttribute('c1000', variantFromFileValue(fileVal))
|
res &= feature.addAttribute('c1000', variantFromFileValue(fileVal))
|
||||||
upload_file(str(item), key, Config.s3_bucket)
|
upload_file(str(item), key, Config.s3_bucket_itv)
|
||||||
|
|
||||||
ws.transaction()
|
ws.transaction()
|
||||||
res = ws.save()
|
res = ws.save()
|
||||||
@@ -198,12 +196,22 @@ def onDelivered(params, files, callback_url):
|
|||||||
|
|
||||||
|
|
||||||
def bnd_connected(bnd_name: str):
|
def bnd_connected(bnd_name: str):
|
||||||
|
global channel_send
|
||||||
logger.warning(f'{bnd_name} connected')
|
logger.warning(f'{bnd_name} connected')
|
||||||
|
channel_send.basic_publish(exchange=Config.rabbit_status_queue, body=json.dumps({
|
||||||
|
'bnd_name': bnd_name,
|
||||||
|
'status': 'connected'
|
||||||
|
}))
|
||||||
connected.add(bnd_name)
|
connected.add(bnd_name)
|
||||||
|
|
||||||
|
|
||||||
def bnd_disconnected(bnd_name: str):
|
def bnd_disconnected(bnd_name: str):
|
||||||
|
global channel_send
|
||||||
logger.warning(f'{bnd_name} disconnected')
|
logger.warning(f'{bnd_name} disconnected')
|
||||||
|
channel_send.basic_publish(exchange=Config.rabbit_status_queue, body=json.dumps({
|
||||||
|
'bnd_name': bnd_name,
|
||||||
|
'status': 'disconnected'
|
||||||
|
}))
|
||||||
if bnd_name in connected:
|
if bnd_name in connected:
|
||||||
connected.remove(bnd_name)
|
connected.remove(bnd_name)
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ class Config:
|
|||||||
ret_path: str = 'http://10.10.8.81:9000/'
|
ret_path: str = 'http://10.10.8.81:9000/'
|
||||||
self_bnd: str = 'bnd127'
|
self_bnd: str = 'bnd127'
|
||||||
enserver: str = 'http://127.0.0.1:7000/xmlrpc'
|
enserver: str = 'http://127.0.0.1:7000/xmlrpc'
|
||||||
remote_bnd: str = 'bnd128'
|
|
||||||
|
|
||||||
pg_host: str = '10.10.8.83'
|
pg_host: str = '10.10.8.83'
|
||||||
pg_port: int = 32101
|
pg_port: int = 32101
|
||||||
@@ -21,12 +20,10 @@ class Config:
|
|||||||
rabbit_conn: str = 'amqp://user:password@10.10.8.83:31005/%2f'
|
rabbit_conn: str = 'amqp://user:password@10.10.8.83:31005/%2f'
|
||||||
rabbit_send_exchange: str = 'ipd_incoming_itv'
|
rabbit_send_exchange: str = 'ipd_incoming_itv'
|
||||||
rabbit_incoming_queue: str = 'ipd_out_queue'
|
rabbit_incoming_queue: str = 'ipd_out_queue'
|
||||||
|
rabbit_status_queue: str = 'ipd_status_queue'
|
||||||
|
|
||||||
s3_endpoint: str = 'http://10.10.8.83:31006'
|
s3_endpoint: str = 'http://10.10.8.83:31006'
|
||||||
s3_key_id: str = 's57'
|
s3_key_id: str = 's57'
|
||||||
s3_access_key: str = 'd9MMinLF3U8TLSj'
|
s3_access_key: str = 'd9MMinLF3U8TLSj'
|
||||||
s3_bucket: str = 'itv'
|
s3_bucket_itv: str = 'itv'
|
||||||
|
|
||||||
gql_url: str = 'https://gql.ivazh.ru/graphql'
|
|
||||||
gql_download: str = 'https://gql.ivazh.ru/item/{key}'
|
|
||||||
gql_schema: str = 'pdim'
|
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"filestorage": {
|
|
||||||
"type": "s3",
|
|
||||||
"endpoint": "http://10.10.8.83:31006",
|
|
||||||
"key_id": "s57",
|
|
||||||
"access_key": "d9MMinLF3U8TLSj",
|
|
||||||
"download_path": "/tmp"
|
|
||||||
},
|
|
||||||
"file_code": "c1000",
|
|
||||||
"name_code": "c122",
|
|
||||||
"use_version": true
|
|
||||||
}
|
|
||||||
@@ -1,167 +0,0 @@
|
|||||||
{
|
|
||||||
"databases": {
|
|
||||||
"oodb_git": {
|
|
||||||
"host": "10.10.8.83",
|
|
||||||
"port": 32100,
|
|
||||||
"database": "db",
|
|
||||||
"user": "postgres",
|
|
||||||
"password": "Root12345678"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"workspaces": {
|
|
||||||
"documents_src": {
|
|
||||||
"type": "documents",
|
|
||||||
"group": "src",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "documents_src",
|
|
||||||
"alias": "Документы исходная"
|
|
||||||
},
|
|
||||||
"documents_standard": {
|
|
||||||
"type": "documents",
|
|
||||||
"group": "order",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "documents_standard",
|
|
||||||
"alias": "Документы эталон"
|
|
||||||
},
|
|
||||||
"documents_standard_pub": {
|
|
||||||
"type": "documents",
|
|
||||||
"group": "order",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "documents_standard",
|
|
||||||
"alias": "Документы публичная"
|
|
||||||
},
|
|
||||||
"ood": {
|
|
||||||
"type": "npd",
|
|
||||||
"group": "src",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "ood",
|
|
||||||
"alias": "ООБД исходные НПД",
|
|
||||||
"map_service": "VUE_APP_GISAIS_URL:/styles/ood/style.json"
|
|
||||||
},
|
|
||||||
"oodb": {
|
|
||||||
"type": "oodb",
|
|
||||||
"group": "order",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "kartap",
|
|
||||||
"alias": "ООДБ эталон",
|
|
||||||
"map_service": "VUE_APP_GISAIS_URL:/styles/oodb/style.json"
|
|
||||||
},
|
|
||||||
"oodb_standard": {
|
|
||||||
"type": "oodb",
|
|
||||||
"group": "forming_standard",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "kartap",
|
|
||||||
"alias": "ООДБ эталон",
|
|
||||||
"map_service": "VUE_APP_GISAIS_URL:/styles/oodb/style.json"
|
|
||||||
},
|
|
||||||
"oodb_working": {
|
|
||||||
"type": "oodb",
|
|
||||||
"group": "forming_work",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "kartap",
|
|
||||||
"alias": "ООДБ рабочая",
|
|
||||||
"map_service": "VUE_APP_GISAIS_URL:/styles/oodb_tech/style.json"
|
|
||||||
},
|
|
||||||
"oodb_pub": {
|
|
||||||
"type": "oodb",
|
|
||||||
"group": "order",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "kartap",
|
|
||||||
"alias": "ООБД публичная",
|
|
||||||
"map_service": "VUE_APP_GISAIS_URL:/styles/oodb/style.json"
|
|
||||||
},
|
|
||||||
"regions": {
|
|
||||||
"type": "regions",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "regions_hard",
|
|
||||||
"alias": "Регионы",
|
|
||||||
"map_service": "VUE_APP_GISAIS_URL_GK:/styles/regions/style.json"
|
|
||||||
},
|
|
||||||
"regions_contour": {
|
|
||||||
"type": "regions",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "regions_hard",
|
|
||||||
"alias": "Регионы",
|
|
||||||
"map_service": "VUE_APP_GISAIS_URL_GK:/styles/regions_contour/style.json"
|
|
||||||
},
|
|
||||||
"npd_9": {
|
|
||||||
"type": "npd",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "npd_9",
|
|
||||||
"alias": "НПД 9.0"
|
|
||||||
},
|
|
||||||
"npd": {
|
|
||||||
"type": "npd",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "initial",
|
|
||||||
"alias": "НПД 9.0"
|
|
||||||
},
|
|
||||||
"npd_831": {
|
|
||||||
"type": "npd",
|
|
||||||
"group": "order",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "npd_831",
|
|
||||||
"alias": "НПД 8.31"
|
|
||||||
},
|
|
||||||
"updater_test": {
|
|
||||||
"type": "npd",
|
|
||||||
"group": "order",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "npd_831_test",
|
|
||||||
"alias": "НПД 8.31 публичная"
|
|
||||||
},
|
|
||||||
"lukoil": {
|
|
||||||
"type": "oodb",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "lukoil",
|
|
||||||
"alias": "ЛУКОЙЛ",
|
|
||||||
"map_service": "VUE_APP_GISAIS_URL_GK:/styles/lukoil/style.json"
|
|
||||||
},
|
|
||||||
"geocover": {
|
|
||||||
"type": "ecpz",
|
|
||||||
"group": "order",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "coverage",
|
|
||||||
"alias": "ЕЦПЗ"
|
|
||||||
},
|
|
||||||
"geocover_test": {
|
|
||||||
"type": "ecpz",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "coverage",
|
|
||||||
"alias": "ЕЦПЗ тест"
|
|
||||||
},
|
|
||||||
"gcmr": {
|
|
||||||
"type": "gcmr",
|
|
||||||
"group": "order",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "gcmr",
|
|
||||||
"alias": "ГЦМР"
|
|
||||||
},
|
|
||||||
"orders": {
|
|
||||||
"type": "system",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "orders",
|
|
||||||
"alias": "Заказы"
|
|
||||||
},
|
|
||||||
"ilo": {
|
|
||||||
"type": "system",
|
|
||||||
"database": "oodb_git",
|
|
||||||
"schema": "ilo",
|
|
||||||
"alias": "ИЛО"
|
|
||||||
},
|
|
||||||
"raz_sgok": {
|
|
||||||
"type": "raz_sgok",
|
|
||||||
"database": "razsgok",
|
|
||||||
"schema": "razsgok",
|
|
||||||
"alias": "СГОК",
|
|
||||||
"map_service": "VUE_APP_GISAIS_URL_GK:/styles/raz_sgok/style.json"
|
|
||||||
},
|
|
||||||
"raz_vtu": {
|
|
||||||
"type": "raz_vtu",
|
|
||||||
"database": "razvtu",
|
|
||||||
"schema": "razvtu",
|
|
||||||
"alias": "ВТУ",
|
|
||||||
"map_service": "VUE_APP_GISAIS_URL_GK:/styles/raz_vtu/style.json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user