Fix connections

This commit is contained in:
ashatora
2024-05-21 19:21:35 +03:00
parent 6a6ab2239c
commit 4885bc05e4
5 changed files with 45 additions and 188 deletions

View File

@@ -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
```

View File

@@ -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)

View File

@@ -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'

View File

@@ -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
}

View File

@@ -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"
}
}
}