Python 中有没有办法先 return 再执行下面的代码

2017-08-22 09:26:48 +08:00
 bestkayle

比如有个情景是需要先返回'开始执行'然后进行执行任务。 或者 Python2 中有没有那种。。。异步的写法,类似 iOS 中的 block。

7026 次点击
所在节点    Python
26 条回复
bestkayle
2017-08-22 12:11:52 +08:00
@goodryb #20 就是类似于这样
def ex():
foo()
return 'success'
foo()是执行任务,想让它不阻塞。
goodryb
2017-08-22 12:41:40 +08:00
@bestkayle #21

如果是我,应该会这样做

def ex():
set_status("run")
foo()
set_status("end")
return 'success'
ericls
2017-08-22 12:59:09 +08:00
楼主想解决 wsgi 返回 response 以后的操作?
xieranmaya
2017-08-22 13:05:11 +08:00
tryfinally
bestkayle
2017-08-22 13:30:38 +08:00
@ericls #23 也没这么复杂,只是想让前面的任务代码不阻塞就行了。
mansur
2017-08-22 13:51:08 +08:00
服务器端接收请求后生成个随机码,连同待处理的数据一块发给 redis 队列,然后把随机码返回给客户端。另外起一个后台进程一直处理这个 redies 队列的消息,处理好了存库。客户端接收到随机码后带着这个随机码向服务器端请求处理结果,如果没有结果就循环重试,用 ajax 实现即可。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/384738

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX