[#109207] [Ruby master Feature#18915] New error class: NotImplementedYetError or scope change for NotImplementedYet — Quintasan <noreply@...>
Issue #18915 has been reported by Quintasan (Michał Zając).
18 messages
2022/07/14
[ruby-core:109340] [Ruby master Feature#18774] Add Queue#pop(timeout:)
From:
"mame (Yusuke Endoh)" <noreply@...>
Date:
2022-07-27 17:40:13 UTC
List:
ruby-core #109340
Issue #18774 has been updated by mame (Yusuke Endoh). According to the dev meeting log, @matz said "Create another ticket for SizedQueue#push if someone wants it". https://github.com/ruby/dev-meeting-log/blob/master/DevMeeting-2022-05-19.md#feature-18774-add-queuepoptimeout-eregon ---------------------------------------- Feature #18774: Add Queue#pop(timeout:) https://bugs.ruby-lang.org/issues/18774#change-98483 * Author: Eregon (Benoit Daloze) * Status: Open * Priority: Normal ---------------------------------------- This has been mentioned many times but somehow was never added. It is useful for many different use cases: * Implementing Timeout#timeout without needing to create a Thread per call which is very inefficient (especially when the timeout is not hit): https://github.com/ruby/timeout/pull/14#issuecomment-1123380880 * @jeremyevans0 I would love a Queue#pop :timeout argument. It would simplify the mutex/condition variable approach currently used for Sequel's connection pool. * @byroot Same. I wanted it so many times * https://bugs.ruby-lang.org/issues/17363 * https://spin.atomicobject.com/2014/07/07/ruby-queue-pop-timeout/ + https://spin.atomicobject.com/2017/06/28/queue-pop-with-timeout-fixed/ * More in my email searches but this seems already plenty I think it should be a keyword argument for clarity, and so there is no confusion with the existing optional argument `non_block=false`. -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:[email protected]?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>