Skip to content

Commit

Permalink
fuck you relesto pt. 8 (#20)
Browse files Browse the repository at this point in the history
Co-authored-by: Aochi <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
3 people authored Jul 17, 2024
1 parent 9dbc46c commit 05f1cac
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 8 deletions.
1 change: 0 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,4 @@ COPY ./scripts /app/scripts
COPY ./peppy /app/peppy

RUN chmod +x -R /app/scripts

ENTRYPOINT [ "/app/scripts/bootstrap.sh" ]
26 changes: 19 additions & 7 deletions peppy/common/web/requestsManager.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
from __future__ import annotations

import sys
import traceback

import tornado
import tornado.web
import tornado.gen
from tornado.ioloop import IOLoop
from objects import glob
import tornado.web
from logger import log
from objects import glob
from raven.contrib.tornado import SentryMixin
from tornado.ioloop import IOLoop


class asyncRequestHandler(SentryMixin, tornado.web.RequestHandler):
"""
Expand All @@ -16,11 +18,14 @@ class asyncRequestHandler(SentryMixin, tornado.web.RequestHandler):
use asyncGet() and asyncPost() instead of get() and post().
Done. I'm not kidding.
"""

@tornado.web.asynchronous
@tornado.gen.engine
def get(self, *args, **kwargs):
try:
yield tornado.gen.Task(runBackground, (self.asyncGet, tuple(args), dict(kwargs)))
yield tornado.gen.Task(
runBackground, (self.asyncGet, tuple(args), dict(kwargs)),
)
finally:
if not self._finished:
self.finish()
Expand All @@ -29,7 +34,9 @@ def get(self, *args, **kwargs):
@tornado.gen.engine
def post(self, *args, **kwargs):
try:
yield tornado.gen.Task(runBackground, (self.asyncPost, tuple(args), dict(kwargs)))
yield tornado.gen.Task(
runBackground, (self.asyncPost, tuple(args), dict(kwargs)),
)
finally:
if not self._finished:
self.finish()
Expand All @@ -50,6 +57,7 @@ def getRequestIP(self):
"""
return self.request.headers.get("X-Real-IP")


def runBackground(data, callback):
"""
Run a function in the background.
Expand All @@ -60,10 +68,13 @@ def runBackground(data, callback):
:return:
"""
func, args, kwargs = data

def _callback(result):
IOLoop.instance().add_callback(lambda: callback(result))

glob.pool.apply_async(func, args, kwargs, _callback)


def checkArguments(arguments, requiredArguments):
"""
Check that every requiredArguments elements are in arguments
Expand All @@ -77,6 +88,7 @@ def checkArguments(arguments, requiredArguments):
return False
return True


def printArguments(t):
"""
Print passed arguments, for debug purposes
Expand All @@ -85,5 +97,5 @@ def printArguments(t):
"""
msg = "ARGS::"
for i in t.request.arguments:
msg += "{}={}\r\n".format(i, t.get_argument(i))
msg += f"{i}={t.get_argument(i)}\r\n"
log.debug(msg)

0 comments on commit 05f1cac

Please sign in to comment.