Python 将会话传递给背景任务cherrypy

Python 将会话传递给背景任务cherrypy,python,web-applications,cherrypy,Python,Web Applications,Cherrypy,我在为我的后台任务正确配置函数以接收cherrypy时遇到问题。我希望后台任务使用会话数据,能够重新生成当前会话,并使会话过期 这是我正在尝试的一个例子 import cherrypy import cherrypy.process.plugins class MainApp(object): def signin(self,user,pass): cherrypy.session['username'] = username cherrypy.ses

我在为我的后台任务正确配置函数以接收cherrypy时遇到问题。我希望后台任务使用会话数据,能够重新生成当前会话,并使会话过期

这是我正在尝试的一个例子

import cherrypy
import cherrypy.process.plugins

class MainApp(object):

    def signin(self,user,pass):
        cherrypy.session['username'] = username
        cherrypy.session['password']  = password

    def communicateWithServer(self):
        user = cherrypy.session.get('username')
        password = cherrypy.session.get('password')
        response = requests.get("http://someserver/api?username="+user+"&password="+password)

    cherrypy.process.plugins.BackgroundTask(600, communicateWithServer (object)).start()
但是我得到了这个错误

  Traceback (most recent call last):
  File "main.py", line 34, in <module>
    class MainApp(object):
  File "main.py", line 202, in MainApp
    cherrypy.process.plugins.BackgroundTask(600, communicateWithServer(object)).start()
  File "main.py", line 191, in loginReport
    user = cherrypy.session.get('username')
AttributeError: 'module' object has no attribute 'session'
回溯(最近一次呼叫最后一次):
文件“main.py”,第34行,在
类MainApp(对象):
MainApp中第202行的文件“main.py”
cherrypy.process.plugins.BackgroundTask(600,communicateWithServer(object)).start()
loginReport中第191行的文件“main.py”
user=cherrypy.session.get('username')
AttributeError:“模块”对象没有“会话”属性

将会话传递给backgroundTask的正确方法是什么?

因为会话不能按我最初的意图使用,所以我使用sqlite3数据库来存储会话中的数据,然后从那里与服务器通信。

cherrypy.session
是一个本地线程,它绑定到用户的请求,因此仅在HTTP请求-响应流期间可用。您可以指定您要完成的高级任务吗?我想使用会话存储用户名和密码,以反复联系登录服务器,确保其他用户可以看到该用户处于联机状态。我可以将数据保存到一个文件中,但我认为会话会更方便。您不能以这种方式使用会话。您可能希望将smth作为Redis商店来使用。请随意提问,也许其他人会提出比这更好的建议:)