` from argparse import ArgumentParser
from flask import Flask
from apiserver.config_repo import config
from apiserver.server_init.app_sequence import AppSequence
from apiserver.server_init.request_handlers import RequestHandlers
app = Flask(name, static_url_path="/static")
AppSequence(app).start(request_handlers=RequestHandlers())
=================== MAIN =======================
if name == "main":
p = ArgumentParser(description=doc)
p.add_argument(
"--port", "-p", type=int, default=config.get("apiserver.listen.port")
)
p.add_argument("--ip", "-i", type=str, default=config.get("apiserver.listen.ip"))
p.add_argument(
"--debug", action="store_true", default=config.get("apiserver.debug")
)
p.add_argument(
"--watch", action="store_true", default=config.get("apiserver.watch")
)
args = p.parse_args()
# logging.info("Starting API Server at %s:%s and env '%s'" % (args.ip, args.port, config.env))
app.run(
debug=args.debug,
host=args.ip,
port=args.port,
threaded=True,
use_reloader=args.watch,
) `
If you want to try and patch the server code to get some visibility, I can guide you on how 🙂
You basically do this:
In your docker-compose.yaml file, add the following env var to the apiserver service: FLASK_DEBUG: "1"
You'll need to restart the server exec into the clearml-apiserver container CD into /opt/clearml/apiserver edit server.py Around line 35 right before call = self._create_api_call(request)
, add:log(str(request.method)) log(str(request.headers["Authorization"]))
5. Save the file
6. Try running your python code again and than check the clearml-apiserver docker container logs
This is not a pattern used by ClearML anywhere 😞