ruby-concurrency / ruby-concurrency/concurrent-ruby
should the thread_local_var_accessor gem be included within the concurrent-ruby gem?
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 5.8k
- Forks
- 420
- Avg merge
- 20h 45m
- Merged PRs (30d)
- 4
Description
I've written a little gem that makes concurrent-ruby's thread-local variables easy to use, in the same manner of attr_reader, attr_writer, attr_accessor: it is called: thread_local_var_accessors
See:
- https://github.com/aks/thread_local_var_accessors
- https://rubygems.org/gems/thread_local_var_accessors
Eg:
tlv_reader :var1
tlv_writer :var2
tlv_accessor: :var3
I've been using it in my company software for some time now. It is an easy way to encourage developers to improve the thread-safetyness of their code, especially code that runs in a multi-threaded environment (eg: sidekiq tasks).
I'm happy to continue maintaining it separately, but I'm also happy to contribute it to the core concurrent-ruby gem, if that's appropriate. In the latter case, since we are already using concurrent-ruby elsewhere, for other reasons, it would mean one gem less to track for us. 😄
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the proposed thread_local_var_accessors API in the linked GitHub repository and RubyGems page, starting with the examples tlv_reader, tlv_writer, and tlv_accessor. Determine whether this functionality belongs in concurrent-ruby and what integration scope and acceptance criteria would be required; the issue does not name project files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100