在 web 端怎么调用一个用 python 写的项目?

2015-05-25 08:34:25 +08:00
 302790951

web端怎么和我的python项目接上呢?
肯定不能直接执行命令调用,这样会出很多问题,主要是输出与输出这样调用的话很麻烦。
django可以吗?求一个思路...感谢

3140 次点击
所在节点    Python
9 条回复
Septembers
2015-05-25 08:35:47 +08:00
JSON-RPC
302790951
2015-05-25 08:45:41 +08:00
@Septembers 感谢,现在就去了解了解
clino
2015-05-25 08:51:20 +08:00
调用要多长时间返回结果? 如果时间比较长就要考虑下怎么做异步了,否则调用一直不返回体验不太好
MrEggNoodle
2015-05-25 09:06:00 +08:00
@Septembers 非常感谢,又增加见识了。
302790951
2015-05-25 10:36:45 +08:00
@clino 估计得做异步了...因为在web端多用户...现在问题是怎么做接口....
clino
2015-05-25 10:54:41 +08:00
@302790951 做异步我想到的方式是,服务器后台马上创建一个异步的job异步执行,然后马上给前端返回job的相关信息,这样前端可以以轮询的方式查询到相关的执行信息并展现

这种只要服务端能较好地支持异步任务就有可行性了,如python可以用gevent之类的东东
Septembers
2015-05-25 11:06:12 +08:00
@302790951
没实现接口之前 建议不要考虑异步化
如果响应时间比较不理想再建议考虑
sivacohan
2015-05-25 16:11:16 +08:00
异步上celery吧。优点是方便,缺点是增加运维成本。
fy
2015-05-26 21:32:31 +08:00
如果需求是这样:web提供API,任务耗时较长需要异步。
那么可以明确说Django不行,因为支持不了异步。

在这个基础之上,能支持异步的框架要么从gevent或者twisted比较底层的开始写;
或者可以使用tornado,本身是比较现成的支持异步的http框架。

这时候要注意!tornado异步也是有多种选择的,
最简单的自然是tornado-celery啦,但是celery方案会比较重;
如果是轻任务,tornado本身也有线程池异步任务的姿势(如果用py3因为有配套语法支持会更爽一些)。

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

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

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

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

© 2021 V2EX