This topic created in 3000 days ago, the information mentioned may be changed or developed.
目前情况:
-
我在新浪 sae 上使用 web.py 部署了一个微信后台。
-
我自己写了一个类(非主函数类),主要是提供数据爬取功能,为了避免模拟登录后 cookie 失效,所以在初始化的时候启动了一个定时访问某个页面的 thread,同时 thread.setDaemon(True)。
-
现在我想把这个类导入到主函数(也是一个类)中使用,但是因为这个进程的原因,整个应用启动失败(不启动这个进程就能启动应用)。
问题:
-
如何才能实现我想要的效果?即在该进程启动的情况下使用这个类。
-
能说说问题的原因?
-
忽略这个问题来看,实例化这个类应该在主函数内部还是外部?有何区别?
链接:
- 这是我写的简略代码,应该能还原这个问题,其中 WeiXinInterface 代表主函数,Crawler 代表爬虫:https://github.com/TMGT/Problem/tree/master/webpy1803
PS:
- 突然想到,是不是可以把这两个类直接合并?(虽然有点蠢)
Supplement 1 · Mar 20, 2018
附:
- 应该是线程,上面全打成了进程(-_-||)
- 听说是因为sae的限制, 不能添加线程, 真是这样就难受了
8 replies • 2018-03-20 20:20:21 +08:00
 |
|
1
pompeii Mar 20, 2018 via iPhone
发现字可能有点多
|
 |
|
2
SuT2i Mar 20, 2018
跟楼主遇到了同样的问题 主程序是 socket client,需要调用不同的模块中的函数并传入 data,调用的函数还是循环体,每隔一段时间需要发送数据到服务端。现在想到的办法就是不同模块都开个线程,将 socket 对象和 data 一起放进线程,但是一直进不去线程。
|
 |
|
3
pompeii Mar 20, 2018 via iPhone
没有 python 大佬指点一二嘛
|
 |
|
4
ycz0926 Mar 20, 2018
lz 一会进程,一会线程的,描述清楚点吧
|
 |
|
6
ycz0926 Mar 20, 2018 1
闲的蛋疼,下了你的代码跑了下,没看到什么问题,唯一的问题就是,主进程跑完了,创建的线程当然也 over 了
|
 |
|
7
ycz0926 Mar 20, 2018
this_thread.start() this_thread.join() 这样就可以了
|
 |
|
8
ycz0926 Mar 20, 2018
主要是你设置了 this_thread.setDaemon(True)
|