V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  LeeReamond  ›  全部回复第 46 页 / 共 93 页
回复总数  1845
1 ... 42  43  44  45  46  47  48  49  50  51 ... 93  
2022 年 4 月 29 日
回复了 LeeReamond 创建的主题 Python 不得不吐槽一下 Python 的任务队列,异步支持太差了
@neoblackcap 如果你确实追踪了楼内讨论的话,你的代码没有解决上文提出的两个问题,

首先是消费方,按照你的逻辑该消费者会在各个 worker 子进程创建独立的事件循环并执行,

1 、我提出的如何在 task 间共享状态,这是使用异步很基本的需求,如果我不希望每次协程调用都执行一次创建和销毁后端连接池的话。
2 、你目前所谓的解决方式是,在单个 worker 进程内创建、执行、结束事件循环,然后在开启下一个循环。所以一个事件循环的意义是仅为一个协程服务,并不能并发调度协程任务,所以使用协程的意义在哪里?

其次像楼上已经有人提到的,你的生产者依然在执行同步逻辑请求任务,所以他们如何被事件循环管理?如何获取任务完成的回调?我觉得在 2022 年使用异步网关不是什么罕见需求。
2022 年 4 月 28 日
回复了 LeeReamond 创建的主题 Python 不得不吐槽一下 Python 的任务队列,异步支持太差了
@neoblackcap 我觉得你有什么方案大可以发出来,不必要说我没有明确需求,我的需求很明确,在 aio 框架下使用消息队列,你的代码能解决到什么程度这是由你决定的,你可以发出来让大家评断。我之所以让你发代码,是因为整个楼里还是有不少网友提出了建设性意见,而你的回复中直接将网友们评价为“很多人也不看源码,也不看文档所以才有问题”,并且你觉得这些问题很简单就可以解决。我觉得既然对你来说这并不需要高昂成本,比起楼里回复很多字,不如直接用你所描述的几行代码解决问题来得实在。
2022 年 4 月 28 日
回复了 LeeReamond 创建的主题 Python 不得不吐槽一下 Python 的任务队列,异步支持太差了
@so1n #48 问题在于你这是同步代码,转到异步里难道开线程池?

@neoblackcap 读了几遍回复感觉你说的挺乱的,你说的可以是 asyncio 可以还是 gevent 可以,社区维护者 issue 里标记说 aio 无支持,我觉得你有解决方案可以放出来,解决全网网友痛点。
2022 年 4 月 27 日
回复了 LeeReamond 创建的主题 Python 不得不吐槽一下 Python 的任务队列,异步支持太差了
@chaoshui 我印象里生产部署是 gunicorn 套 uvicorn.workers.UvicornWorker

@bairdshi 没什么改变认知的,玩不玩具另说,起码那位老哥吐槽的几个问题确实存在,作为生产级引擎日志格式不能改确实令人惊讶,同时没有子进程守护也同样是痛点
@ipwx 你这例子重复我之前的话啊,#5 原文 “一般开发能做到知道所有资源在哪里创建,在哪里释放就可以了”,你这又扯啥不知道释放,不知道谁笑话
@icyalala 我觉得你可以区分一下现在用不上就不了解,和了解了但是很多年没用上之间的区别。
2022 年 4 月 27 日
回复了 LeeReamond 创建的主题 Python 不得不吐槽一下 Python 的任务队列,异步支持太差了
@so1n 老哥可以一发,我们学习一下
2022 年 4 月 27 日
回复了 LeeReamond 创建的主题 Python 不得不吐槽一下 Python 的任务队列,异步支持太差了
@est uvicorn 我还真不知道,gunicorn 以前倒是做过,记不太清了,印象里是 logging.getlogger("gunicorn.err")这种感觉的,然后重写 handler
@icyalala 感觉也问题不大?

面试为啥问很简单,因为 python 本身也没多少东西,不像 java 还有个 util 库给你问,py 本身也没啥线程支持,除了随便问点 gc 还能问啥。不过一般开发层面确实不需要了解 gc ,一般开发能做到知道所有资源在哪里创建,在哪里释放就可以了,具体怎么释放的说实话也没啥意思,像遇到循环引用之类的情况怎么处理,还有生长降级之类的,确实是写这么多年代码,看过也只是看过而已,毕竟又不要求你自己实现解释器,还真没用相关知识处理过实际问题。
看了一下以前自己的实现,subprocess.Popen 是同步代码,肯定是不在事件循环的线程里执行的,创建子进程后用 process.stdout.fileno()拿到 stdout ,然后用 selectors.DefualtSelector 挂上,印象里这个 default 在 linux 下是会自动用 epoll ,推流用 call_soon_threadsafe 就推回事件循环了。关闭子进程用的是三方库 psutil ,selector 挂起无法自动关闭,解决方法是加个 timeout ,最慢 10 秒内关闭。
2022 年 4 月 27 日
回复了 LeeReamond 创建的主题 Python 不得不吐槽一下 Python 的任务队列,异步支持太差了
@fengjianxinghun 草,看了一下 contribute 列表还真是,原作者提交显示 2016 年就弃坑了,之后一直是社区在维护。我看他最近版本是 22 天前发布的还以为更新非常频繁
2022 年 4 月 27 日
回复了 LeeReamond 创建的主题 Python 不得不吐槽一下 Python 的任务队列,异步支持太差了
@LeeReamond *wsgi
2022 年 4 月 27 日
回复了 LeeReamond 创建的主题 Python 不得不吐槽一下 Python 的任务队列,异步支持太差了
@youngce 绝大多数计算库不做支持完全可以理解,基于 asgi 的 web 框架不做异步支持也可以理解,毕竟没有必要重新发明轮子,当然也有一些偏就发明了的,比如 flask 。甚至 sqlalchemy 之类的 ORM 不支持也可以理解,但是现在好像也不需要我理解了。现在 py 唯一指定任务队列,文档里第一句话写我是为了处理大量分布式任务存在的,它解决分布式任务的方式是让大家都用同步代码这。。
2022 年 4 月 27 日
回复了 LeeReamond 创建的主题 Python 不得不吐槽一下 Python 的任务队列,异步支持太差了
@so1n 我只是很质疑,事件以及回文通知需要自己封装。还有问题又回到 worker 不支持异步调用,所以我需要在异步网关那里 await channel ,然后 worker 这边同步 publish 。过程中间的可靠性又有一大票需要维护的,那为什么我需要一个第三方任务队列呢
2022 年 4 月 27 日
回复了 shenfu1991 创建的主题 分享发现 如何设计一个优秀的炒股/炒币系统
LZ 非常有心得,虽然帖子太长我没看,想问下 LZ 提了几套房了
2022 年 4 月 25 日
回复了 cweijan 创建的主题 程序员 Github 彻底无法访问
1\github 防火墙内提交确实普遍发现随机断连问题
2\另外一点是 gh 官方也确认最近服务不稳定,受影响范围很大,包括很多 pages 业务。所以谁知道哪个环节导致你登不上
2022 年 4 月 25 日
回复了 suxxx 创建的主题 Redis Redis 批量读取 Hash 数据
multi 不保证事务性,不保证能回滚,也不保证命令执行成功,但可以保证执行期间不会被其他任务打断,读取是 ok 的。
2022 年 4 月 24 日
回复了 arsenal4 创建的主题 云计算 云服务商还是远离小厂吧
@LemonK 没考虑过起诉?这直接造成你严重经济损失了
@eason1874 代理返点是啥意思,听不太懂。我服务计划是长期运行,不太会遇到退费的情况。不过正常使用又有什么情况会退款呢?这次是一次准备开 3-5 年的
@eason1874 特惠怎么买,有什么关注渠道吗
1 ... 42  43  44  45  46  47  48  49  50  51 ... 93  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2749 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms · UTC 12:42 · PVG 20:42 · LAX 05:42 · JFK 08:42
♥ Do have faith in what you're doing.