web端怎么和我的python项目接上呢?
肯定不能直接执行命令调用,这样会出很多问题,主要是输出与输出这样调用的话很麻烦。
django可以吗?求一个思路...感谢
1
Septembers 2015-05-25 08:35:47 +08:00 via Android 2
JSON-RPC
|
2
302790951 OP @Septembers 感谢,现在就去了解了解
|
3
clino 2015-05-25 08:51:20 +08:00
调用要多长时间返回结果? 如果时间比较长就要考虑下怎么做异步了,否则调用一直不返回体验不太好
|
4
MrEggNoodle 2015-05-25 09:06:00 +08:00
@Septembers 非常感谢,又增加见识了。
|
6
clino 2015-05-25 10:54:41 +08:00
@302790951 做异步我想到的方式是,服务器后台马上创建一个异步的job异步执行,然后马上给前端返回job的相关信息,这样前端可以以轮询的方式查询到相关的执行信息并展现
这种只要服务端能较好地支持异步任务就有可行性了,如python可以用gevent之类的东东 |
7
Septembers 2015-05-25 11:06:12 +08:00 1
|
8
sivacohan 2015-05-25 16:11:16 +08:00 via Android
异步上celery吧。优点是方便,缺点是增加运维成本。
|
9
fy 2015-05-26 21:32:31 +08:00
如果需求是这样:web提供API,任务耗时较长需要异步。
那么可以明确说Django不行,因为支持不了异步。 在这个基础之上,能支持异步的框架要么从gevent或者twisted比较底层的开始写; 或者可以使用tornado,本身是比较现成的支持异步的http框架。 这时候要注意!tornado异步也是有多种选择的, 最简单的自然是tornado-celery啦,但是celery方案会比较重; 如果是轻任务,tornado本身也有线程池异步任务的姿势(如果用py3因为有配套语法支持会更爽一些)。 |