将会话传递到后台任务樱桃



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

这是IM尝试的一个例子

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'

将会话传递到后台任务的正确方法是什么?

由于会话不能像我最初打算的那样使用,因此我正在使用sqlite3数据库来存储会话中的数据,然后从那里与服务器通信。

最新更新