我想在服务器上使用 uwsgi/nginx 运行 python 纸牌游戏。在互联网上学习 uwsgi 很痛苦,因此我的问题在这里:
如何在服务器上运行 python 应用程序并在收到某些请求时读取/更新我的对象?我不想跨数据库表对我的游戏进行建模。这可能吗?
所有教程都指向此示例文件
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return "Hello world!"
但是在应用程序函数内部我无法引用任何先前定义的变量。 我想要的是:
i = 0
def application(env, start_response):
i = i + 1
start_response('200 OK', [('Content-Type','text/html')])
return "Counter: " + str(i)
因此,每次收到请求时,我都会递增。
我写了数百行游戏,假设我能够做这么多......但我已经碰壁了。任何帮助都会拯救我。
最佳答案
在使用它之前,您需要global i
。但这可能会或可能不会按您的预期工作,具体取决于您的 uwsgi 配置 - 您是否有生成进程池、使用线程或启用重新启动?仅当您只有一个进程正在运行并且该进程不会在请求之间被回收时,global
技巧才会起作用。并且该过程最好需要自行生成 - 像 paste
这样的东西可能更容易配置为按您想要的方式工作。
关于python - 内存中的Python纸牌游戏/无数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16861813/