全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
楼主: 深海空间

全球python开发论坛

[复制链接]
发表于 2022-5-7 23:22:51 | 显示全部楼层
看数据量有多大,对时延要求有多高,机器内存有多少,没必要过度设计。
多线程也不一定就能快,本身python是伪多线程,另外你这个是IO密集型,网络和磁盘IO有上限。
 楼主| 发表于 2022-5-8 00:07:27 来自手机 | 显示全部楼层
goyz 发表于 2022-5-7 23:22
看数据量有多大,对时延要求有多高,机器内存有多少,没必要过度设计。
多线程也不一定就能快,本身python ...

其实我这个程序设计并不是特别严谨的,如果因为网络问题导致的get/post失败,那我就try完之后把本次request 直接丢弃掉,这样会不会好点
发表于 2022-5-8 00:16:37 | 显示全部楼层
深海空间 发表于 2022-5-8 00:07
其实我这个程序设计并不是特别严谨的,如果因为网络问题导致的get/post失败,那我就try完之后把本次reque ...

程序设计上丢不丢弃都无关正确性,主要还是看你的需求了,采取不同的失败处理策略,失败即停,失败忽略,失败重试,失败有限重试等等
 楼主| 发表于 2022-5-8 00:29:41 | 显示全部楼层
goyz 发表于 2022-5-8 00:16
程序设计上丢不丢弃都无关正确性,主要还是看你的需求了,采取不同的失败处理策略,失败即停,失败忽略, ...

好的,多谢啦
发表于 2022-5-8 00:30:23 | 显示全部楼层
解决不了 楼下会
 楼主| 发表于 2022-5-8 00:31:13 | 显示全部楼层
goyz 发表于 2022-5-8 00:16
程序设计上丢不丢弃都无关正确性,主要还是看你的需求了,采取不同的失败处理策略,失败即停,失败忽略, ...

主要是丢弃策略的话,应该可以防止我们前面提到的request content(不打算写入硬盘本地文件)占用内存无法使用导致的内存不够的问题
发表于 2022-5-8 13:37:10 | 显示全部楼层
深海空间 发表于 2022-5-7 23:07
好吧,那我再问下,每一张图片都要执行这三个步骤,get下来写入保存到本地,在读取出来发送给TG,再删除 ...

读写文件都需要时间和io,不考虑持久化的问题可以直接利用requests对象的content二进制数据,内存效率最高。没有持久化脚本不出问题还好,遇到个没有捕获的异常,内存里的数据都没啦,重新爬?
实践出真知,遇到问题解决问题
发表于 2022-5-8 13:51:33 | 显示全部楼层
直接把内存挂载成内存盘,写入内存盘中做临时文件不就行了。
 楼主| 发表于 2022-5-8 14:43:06 | 显示全部楼层
本帖最后由 深海空间 于 2022-5-8 14:44 编辑
rem 发表于 2022-5-8 13:37
读写文件都需要时间和io,不考虑持久化的问题可以直接利用requests对象的content二进制数据,内存效率最 ...


不需要持久化,程序的处理流程就是,tg用户发送关键字-->vps收到关键字-->python拿着关键字去某网站搜索并获取到图片-->将图片用tg api发送给用户。本地不做任何储存。假如以上流程中间一环捕获到任何异常,直接停止本次查询,然后等待服务端发送过来下一个关键字
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-4 16:59 , Processed in 0.061243 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表