Я использую колбу для создания простого API.API просто возвращает значения из mongoDB.Все работает отлично, если я делаю соединение в той же функции.Я не делаю соединение просто в начале файла, потому что я использую uwsgi и сервер nginx на Ubuntu.Если я сделаю это, тогда возникнет проблема с fork.
Однако я должен использовать это соединение с другими API, поэтому подумал сделать отдельный класс для соединения, и каждый API просто вызовет его.Я использую эту функциональность, чтобы сделать коды управляемыми.Однако, когда я пытаюсь эти коды, он всегда показывает внутреннюю ошибку сервера .Я также пытался сделать эту функцию статичной, но ошибка все еще существует.
Примечание. Я заменил адрес mongodb на xxx , так как здесь я использую учетную запись mongodbatlas
from flask import Flask
from flask import request, jsonify
from flask_pymongo import pymongo
from pymongo import MongoClient
from flask_restful import Resource, Api, reqparse
app = Flask(__name__)
api = Api(app)
#client = MongoClient("xxx")
#db = client.get_database('restdb')
#records = db.stars
class dbConnect():
def connect(self):
client = MongoClient("xxx")
db = client.get_database('restdb')
records = db.stars
return records
class Order(Resource):
def get(self):
#client = MongoClient("xxx")
#db = client.get_database('restdb')
#records = db.stars
#star = records
star = dbConnect.connect
output = []
for s in star.find():
output.append({'name' : s['name'], 'distance' : s['distance']})
return jsonify({'result' : output})
api.add_resource(Order, '/')
if __name__ == "__main__":
app.run(host='0.0.0.0')
ОШИБКА {"message": "Internal Server Error"}