From 28c827338e567ce2118f5f7c87a8c846eb68d958 Mon Sep 17 00:00:00 2001 From: Petrik Date: Tue, 2 Dec 2025 20:51:07 +0100 Subject: [PATCH] [python/tornado] Remove python 2 tests Python 2 is end-of-life. No need to test it. --- .../Python/tornado/benchmark_config.json | 70 +---------- ...s_py3_mongo.txt => requirements_mongo.txt} | 0 .../Python/tornado/requirements_py2_mongo.txt | 3 - .../Python/tornado/requirements_py2_pg.txt | 3 - ...py3_uvloop.txt => requirements_uvloop.txt} | 0 .../tornado/{server_py3.py => server.py} | 0 frameworks/Python/tornado/server_pg.py | 77 ------------ frameworks/Python/tornado/server_py2.py | 115 ------------------ ...{server_py3_uvloop.py => server_uvloop.py} | 0 .../tornado/tornado-postgresql-raw.dockerfile | 11 -- .../tornado/tornado-py3-uvloop.dockerfile | 11 -- .../Python/tornado/tornado-py3.dockerfile | 11 -- .../Python/tornado/tornado-pypy2.dockerfile | 11 -- .../Python/tornado/tornado-uvloop.dockerfile | 11 ++ frameworks/Python/tornado/tornado.dockerfile | 6 +- 15 files changed, 16 insertions(+), 313 deletions(-) rename frameworks/Python/tornado/{requirements_py3_mongo.txt => requirements_mongo.txt} (100%) delete mode 100644 frameworks/Python/tornado/requirements_py2_mongo.txt delete mode 100644 frameworks/Python/tornado/requirements_py2_pg.txt rename frameworks/Python/tornado/{requirements_py3_uvloop.txt => requirements_uvloop.txt} (100%) rename frameworks/Python/tornado/{server_py3.py => server.py} (100%) delete mode 100755 frameworks/Python/tornado/server_pg.py delete mode 100644 frameworks/Python/tornado/server_py2.py rename frameworks/Python/tornado/{server_py3_uvloop.py => server_uvloop.py} (100%) delete mode 100644 frameworks/Python/tornado/tornado-postgresql-raw.dockerfile delete mode 100644 frameworks/Python/tornado/tornado-py3-uvloop.dockerfile delete mode 100644 frameworks/Python/tornado/tornado-py3.dockerfile delete mode 100644 frameworks/Python/tornado/tornado-pypy2.dockerfile create mode 100644 frameworks/Python/tornado/tornado-uvloop.dockerfile diff --git a/frameworks/Python/tornado/benchmark_config.json b/frameworks/Python/tornado/benchmark_config.json index a64c47a7cfe..3966265fb04 100644 --- a/frameworks/Python/tornado/benchmark_config.json +++ b/frameworks/Python/tornado/benchmark_config.json @@ -2,72 +2,6 @@ "framework": "tornado", "tests": [{ "default": { - "json_url": "/json", - "db_url": "/db", - "query_url": "/queries?queries=", - "plaintext_url": "/plaintext", - "fortune_url": "/fortunes", - "update_url": "/updates?queries=", - "port": 8080, - "approach": "Realistic", - "classification": "Platform", - "database": "MongoDB", - "framework": "None", - "language": "Python", - "flavor": "Python2", - "orm": "Raw", - "platform": "None", - "webserver": "Tornado", - "os": "Linux", - "database_os": "Linux", - "display_name": "Tornado", - "notes": "", - "versus": "tornado" - }, - "pypy2": { - "json_url": "/json", - "db_url": "/db", - "query_url": "/queries?queries=", - "plaintext_url": "/plaintext", - "fortune_url": "/fortunes", - "update_url": "/updates?queries=", - "port": 8080, - "approach": "Realistic", - "classification": "Platform", - "database": "MongoDB", - "framework": "None", - "language": "Python", - "flavor": "PyPy2", - "orm": "Raw", - "platform": "None", - "webserver": "Tornado", - "os": "Linux", - "database_os": "Linux", - "display_name": "Tornado", - "notes": "", - "versus": "tornado" - }, - "postgresql-raw": { - "db_url": "/db", - "query_url": "/queries?queries=", - "port": 8080, - "approach": "Realistic", - "classification": "Platform", - "database": "Postgres", - "framework": "None", - "language": "Python", - "flavor": "Python2", - "orm": "Raw", - "platform": "None", - "webserver": "Tornado", - "os": "Linux", - "database_os": "Linux", - "display_name": "Tornado", - "notes": "", - "versus": "tornado", - "tags": ["broken"] - }, - "py3": { "json_url": "/json", "db_url": "/db", "query_url": "/queries?queries=", @@ -90,7 +24,7 @@ "notes": "", "versus": "tornado" }, - "py3-uvloop": { + "uvloop": { "db_url": "/db", "query_url": "/queries?queries=", "fortune_url": "/fortunes", @@ -107,7 +41,7 @@ "webserver": "Tornado", "os": "Linux", "database_os": "Linux", - "display_name": "Tornado", + "display_name": "Tornado [uvloop]", "notes": "", "versus": "tornado" } diff --git a/frameworks/Python/tornado/requirements_py3_mongo.txt b/frameworks/Python/tornado/requirements_mongo.txt similarity index 100% rename from frameworks/Python/tornado/requirements_py3_mongo.txt rename to frameworks/Python/tornado/requirements_mongo.txt diff --git a/frameworks/Python/tornado/requirements_py2_mongo.txt b/frameworks/Python/tornado/requirements_py2_mongo.txt deleted file mode 100644 index ef65f2641ce..00000000000 --- a/frameworks/Python/tornado/requirements_py2_mongo.txt +++ /dev/null @@ -1,3 +0,0 @@ -tornado==5.1.1 -motor==2.0.0 -ujson==1.35 diff --git a/frameworks/Python/tornado/requirements_py2_pg.txt b/frameworks/Python/tornado/requirements_py2_pg.txt deleted file mode 100644 index 8f204caeb0a..00000000000 --- a/frameworks/Python/tornado/requirements_py2_pg.txt +++ /dev/null @@ -1,3 +0,0 @@ -tornado==5.1.1 -Momoko==2.2.4 -ujson==1.35 \ No newline at end of file diff --git a/frameworks/Python/tornado/requirements_py3_uvloop.txt b/frameworks/Python/tornado/requirements_uvloop.txt similarity index 100% rename from frameworks/Python/tornado/requirements_py3_uvloop.txt rename to frameworks/Python/tornado/requirements_uvloop.txt diff --git a/frameworks/Python/tornado/server_py3.py b/frameworks/Python/tornado/server.py similarity index 100% rename from frameworks/Python/tornado/server_py3.py rename to frameworks/Python/tornado/server.py diff --git a/frameworks/Python/tornado/server_pg.py b/frameworks/Python/tornado/server_pg.py deleted file mode 100755 index 1a354d80dbc..00000000000 --- a/frameworks/Python/tornado/server_pg.py +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/bin/env python -import json -from random import randint -import momoko -import tornado.ioloop -import tornado.web -from tornado import gen -import tornado.options -from tornado.options import options -import tornado.httpserver -from commons import JsonHandler, JsonHelloWorldHandler, PlaintextHelloWorldHandler, BaseHandler - - -tornado.options.define('port', default=8888, type=int, help="Server port") -tornado.options.define('postgres', default="localhost", - type=str, help="PostgreSQL host") -tornado.options.define('backlog', default=8192, type=int, - help="Server backlog") - - -class SingleQueryHandler(JsonHandler): - SQL = "SELECT id, randomNumber FROM World WHERE id=%s" - - @gen.coroutine - def get(self): - - random_id = randint(1, 10000) - cursor = yield db.execute(self.SQL, (random_id,)) - row = cursor.fetchone() - response = json.dumps({self.ID: row[0], self.RANDOM_NUMBER: row[1]}) - self.finish(response) - - -class MultipleQueriesHandler(JsonHandler): - SQL = "SELECT id, randomNumber FROM World WHERE id=%s" - - @gen.coroutine - def get(self): - queries = self.get_argument(self.QUERIES, "1") - try: - queries = int(queries.strip()) - except ValueError: - queries = 1 - - queries = min(max(1, queries), 500) - worlds = [] - - cursors = yield [db.execute(self.SQL, (randint(1, 10000),)) for _ in xrange(queries)] - for cursor in cursors: - row = cursor.fetchone() - worlds.append({self.ID: row[0], self.RANDOM_NUMBER: row[1]}) - - response = json.dumps(worlds) - self.finish(response) - - -application = tornado.web.Application([ - (r"/json", JsonHelloWorldHandler), - (r"/plaintext", PlaintextHelloWorldHandler), - (r"/db", SingleQueryHandler), - (r"/queries", MultipleQueriesHandler) -], - template_path="templates" -) -application.ui_modules = {} - -if __name__ == "__main__": - tornado.options.parse_command_line() - server = tornado.httpserver.HTTPServer(application) - server.bind(options.port, backlog=options.backlog) - server.start(0) - - ioloop = tornado.ioloop.IOLoop.instance() - dsn = "user=benchmarkdbuser password=benchmarkdbpass dbname=hello_world host=%s" % options.postgres - db = momoko.Pool(dsn, size=100, max_size=200) - ioloop.run_sync(db.connect) - ioloop.start() diff --git a/frameworks/Python/tornado/server_py2.py b/frameworks/Python/tornado/server_py2.py deleted file mode 100644 index 86d7177bccf..00000000000 --- a/frameworks/Python/tornado/server_py2.py +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/env python - -import json -import motor -from pymongo.operations import UpdateOne -import tornado.ioloop -import tornado.web -import tornado.httpserver - -from random import randint -from tornado import gen -from tornado.options import options -from commons import JsonHandler, JsonHelloWorldHandler, PlaintextHelloWorldHandler, HtmlHandler - - -options.define('port', default=8888, type=int, help="Server port") -options.define('mongo', default='localhost', type=str, help="MongoDB host") -options.define('backlog', default=8192, type=int, help="Server backlog") - - -class SingleQueryHandler(JsonHandler): - - @gen.coroutine - def get(self): - world = yield db.world.find_one(randint(1, 10000)) - world = {self.ID: int(world['_id']), - self.RANDOM_NUMBER: int(world[self.RANDOM_NUMBER]) - } - - response = json.dumps(world) - self.finish(response) - - -class MultipleQueriesHandler(JsonHandler): - @gen.coroutine - def get(self): - try: - queries = int(self.get_argument(self.QUERIES)) - except Exception: - queries = 1 - else: - if queries < 1: - queries = 1 - elif queries > 500: - queries = 500 - - worlds = yield [db.world.find_one(randint(1, 10000)) for _ in xrange(queries)] - - worlds = [{self.ID: int(world['_id']), - self.RANDOM_NUMBER: int(world[self.RANDOM_NUMBER])} - for world in worlds] - - self.finish(json.dumps(worlds)) - - -class UpdateHandler(JsonHandler): - @gen.coroutine - def get(self): - try: - queries = int(self.get_argument(self.QUERIES)) - except Exception: - queries = 1 - else: - if queries < 1: - queries = 1 - elif queries > 500: - queries = 500 - - worlds = yield [db.world.find_one(randint(1, 10000)) for _ in xrange(queries)] - updates = [] - out = [] - - for world in worlds: - new_value = randint(1, 10000) - updates.append(UpdateOne({'_id': world['_id']}, {"$set": {self.RANDOM_NUMBER: new_value}})) - out.append({self.ID: world["_id"], self.RANDOM_NUMBER: new_value}) - - yield db.world.bulk_write(updates, ordered=False) - self.finish(json.dumps(out)) - - -class FortuneHandler(HtmlHandler): - @gen.coroutine - def get(self): - fortunes = [] - cursor = db.fortune.find() - - while (yield cursor.fetch_next): - fortunes.append(cursor.next_object()) - fortunes.append({self.ID: 0, 'message': 'Additional fortune added at request time.'}) - fortunes.sort(key=lambda f: f['message']) - self.render('fortunes.html', fortunes=fortunes) - - -application = tornado.web.Application([ - (r"/json", JsonHelloWorldHandler), - (r"/plaintext", PlaintextHelloWorldHandler), - (r"/db", SingleQueryHandler), - (r"/queries", MultipleQueriesHandler), - (r"/updates", UpdateHandler), - (r"/fortunes", FortuneHandler), -], - template_path="templates" -) -application.ui_modules = {} - -if __name__ == "__main__": - tornado.options.parse_command_line() - server = tornado.httpserver.HTTPServer(application) - server.bind(options.port, backlog=options.backlog) - server.start(0) - - ioloop = tornado.ioloop.IOLoop.instance() - db = motor.MotorClient(options.mongo, maxPoolSize=500).hello_world - ioloop.start() diff --git a/frameworks/Python/tornado/server_py3_uvloop.py b/frameworks/Python/tornado/server_uvloop.py similarity index 100% rename from frameworks/Python/tornado/server_py3_uvloop.py rename to frameworks/Python/tornado/server_uvloop.py diff --git a/frameworks/Python/tornado/tornado-postgresql-raw.dockerfile b/frameworks/Python/tornado/tornado-postgresql-raw.dockerfile deleted file mode 100644 index 6a6119bda5d..00000000000 --- a/frameworks/Python/tornado/tornado-postgresql-raw.dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM python:2.7.15-stretch - -ADD ./ /tornado - -WORKDIR /tornado - -RUN pip install -r /tornado/requirements_py2_pg.txt - -EXPOSE 8080 - -CMD python server_pg.py --port=8080 --postgres=tfb-database --logging=error diff --git a/frameworks/Python/tornado/tornado-py3-uvloop.dockerfile b/frameworks/Python/tornado/tornado-py3-uvloop.dockerfile deleted file mode 100644 index 2bc64e882a1..00000000000 --- a/frameworks/Python/tornado/tornado-py3-uvloop.dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM python:3.6.6-stretch - -ADD ./ /tornado - -WORKDIR /tornado - -RUN pip3 install -r /tornado/requirements_py3_uvloop.txt - -EXPOSE 8080 - -CMD python3 server_py3_uvloop.py --logging=error diff --git a/frameworks/Python/tornado/tornado-py3.dockerfile b/frameworks/Python/tornado/tornado-py3.dockerfile deleted file mode 100644 index 667a7a330ef..00000000000 --- a/frameworks/Python/tornado/tornado-py3.dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM python:3.6.6-stretch - -ADD ./ /pyramid - -WORKDIR /pyramid - -RUN pip3 install -r /pyramid/requirements_py3_mongo.txt - -EXPOSE 8080 - -CMD python3 server_py3.py --port=8080 --mongo=tfb-database --logging=error diff --git a/frameworks/Python/tornado/tornado-pypy2.dockerfile b/frameworks/Python/tornado/tornado-pypy2.dockerfile deleted file mode 100644 index 1b9d73f3032..00000000000 --- a/frameworks/Python/tornado/tornado-pypy2.dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM pypy:2-5.10 - -ADD ./ /tornado - -WORKDIR /tornado - -RUN pip install -r /tornado/requirements_py2_mongo.txt - -EXPOSE 8080 - -CMD pypy server_py2.py --port=8080 --mongo=tfb-database --logging=error diff --git a/frameworks/Python/tornado/tornado-uvloop.dockerfile b/frameworks/Python/tornado/tornado-uvloop.dockerfile new file mode 100644 index 00000000000..4fe319a75c2 --- /dev/null +++ b/frameworks/Python/tornado/tornado-uvloop.dockerfile @@ -0,0 +1,11 @@ +FROM python:3.6.6-stretch + +ADD ./ /tornado + +WORKDIR /tornado + +RUN pip3 install -r /tornado/requirements_uvloop.txt + +EXPOSE 8080 + +CMD python3 server_uvloop.py --logging=error diff --git a/frameworks/Python/tornado/tornado.dockerfile b/frameworks/Python/tornado/tornado.dockerfile index 1a1f8cdf410..aa9a33f4cdf 100644 --- a/frameworks/Python/tornado/tornado.dockerfile +++ b/frameworks/Python/tornado/tornado.dockerfile @@ -1,11 +1,11 @@ -FROM python:2.7.15-stretch +FROM python:3.6.6-stretch ADD ./ /tornado WORKDIR /tornado -RUN pip install -r /tornado/requirements_py2_mongo.txt +RUN pip3 install -r /tornado/requirements_mongo.txt EXPOSE 8080 -CMD python server_py2.py --port=8080 --mongo=tfb-database --logging=error +CMD python3 server.py --port=8080 --mongo=tfb-database --logging=error