Как добавить поведение истечения сеанса к сеансам CherryPy? - PullRequest
0 голосов
/ 30 января 2019

Я использую класс Session в CherryPy для реализации приложений.На данный момент это просто RamSession (по умолчанию cp).

Когда истекает время сеанса после настроенного тайм-аута, cp выполняет некоторую очистку (фактически реализовано в подклассах Ram / File).Тем не менее мне нужно сделать дополнительные вещи на экземпляре сервера, когда сеанс истекает.Это должно быть сделано независимо от того, является ли сеанс Ram (в настоящее время имеет место) или основанным на файлах (который может быть реализован в будущем).

В настоящее время я думаю о том, чтобы создать подкласс RamSession cherrypy и реализовать дополнительную очистку.там.Я бы на самом деле подкласс Session вместо этого, но RamSession не вызывает super (). Clean_up ().

class SessionWrapper(cherrypy.lib.sessions.RamSession):
  def clean_up(self):
    super().clean_up()
    # doStuff here

Однако я подкласса RamSession только для этой конкретной вещи, и я не вижу дальнейшего использованиямой класс обертки.Так что он чувствует себя властным.В конечном счете, мне просто нужен набор процедур, которые выполняются всякий раз, когда сеанс cp определяет, что сеанс истек.

Это достойный способ достижения этой цели или есть что-то более простое, что я мог бы сделать?Если да, то я прав в подклассе RamSession?

...