Polymorphic threaded comments Rails gem for Rails 4+
Puma is a simple, fast, multi-threaded, and highly parallel HTTP 1.1 server for Ruby/Rack applications. Puma is intended for use in both development and production environments. It's great for highly parallel Ruby implementations such as JRuby and TruffleRuby as well as as providing process worker support to support CRuby well.
EventMachine implements a fast, single-threaded engine for arbitrary network communications. It's extremely easy to use in Ruby. EventMachine wraps all interactions with IP sockets, allowing programs to concentrate on the implementation of network protocols. It can be used to create both network servers and clients. To create a server or client, a Ruby program only needs to specify the IP address and port, and provide a Module that implements the communications protocol. Implementations of several standard network protocols are provided with the package, primarily to serve as examples. The real goal of EventMachine is to enable programs to easily interface with other programs using TCP/IP, especially if custom protocols are required.
Modern concurrency tools including agents, futures, promises, thread pools, actors, supervisors, and more. Inspired by Erlang, Clojure, Go, JavaScript, actors, and classic concurrency patterns.
Manages persistent connections using Net::HTTP including a thread pool for connecting to multiple hosts. Using persistent HTTP connections can dramatically increase the speed of HTTP. Creating a new HTTP connection for every request involves an extra TCP round-trip and causes TCP congestion avoidance negotiation to start over. Net::HTTP supports persistent connections with some API methods but does not make setting up a single persistent connection or managing multiple connections easy. Net::HTTP::Persistent wraps Net::HTTP and allows you to focus on how to make HTTP requests.
== DESCRIPTION: The RightScale AWS gems have been designed to provide a robust, fast, and secure interface to Amazon EC2, EBS, S3, SQS, SDB, and CloudFront. These gems have been used in production by RightScale since late 2006 and are being maintained to track enhancements made by Amazon. The RightScale AWS gems comprise: - RightAws::Ec2 -- interface to Amazon EC2 (Elastic Compute Cloud) and the associated EBS (Elastic Block Store) - RightAws::S3 and RightAws::S3Interface -- interface to Amazon S3 (Simple Storage Service) - RightAws::Sqs and RightAws::SqsInterface -- interface to first-generation Amazon SQS (Simple Queue Service) (API version 2007-05-01) - RightAws::SqsGen2 and RightAws::SqsGen2Interface -- interface to second-generation Amazon SQS (Simple Queue Service) (API version 2008-01-01) - RightAws::SdbInterface and RightAws::ActiveSdb -- interface to Amazon SDB (SimpleDB) - RightAws::AcfInterface -- interface to Amazon CloudFront, a content distribution service == FEATURES: - Full programmmatic access to EC2, EBS, S3, SQS, SDB, and CloudFront. - Complete error handling: all operations check for errors and report complete error information by raising an AwsError. - Persistent HTTP connections with robust network-level retry layer using RightHttpConnection). This includes socket timeouts and retries. - Robust HTTP-level retry layer. Certain (user-adjustable) HTTP errors returned by Amazon's services are classified as temporary errors. These errors are automaticallly retried using exponentially increasing intervals. The number of retries is user-configurable. - Fast REXML-based parsing of responses (as fast as a pure Ruby solution allows). - Uses libxml (if available) for faster response parsing. - Support for large S3 list operations. Buckets and key subfolders containing many (> 1000) keys are listed in entirety. Operations based on list (like bucket clear) work on arbitrary numbers of keys. - Support for streaming GETs from S3, and streaming PUTs to S3 if the data source is a file. - Support for single-threaded usage, multithreaded usage, as well as usage with multiple AWS accounts. - Support for both first- and second-generation SQS (API versions 2007-05-01 and 2008-01-01). These versions of SQS are not compatible. - Support for signature versions 0 and 1 on SQS, SDB, and EC2. - Interoperability with any cloud running Eucalyptus (http://eucalyptus.cs.ucsb.edu) - Test suite (requires AWS account to do "live" testing).
Efficient, immutable, thread-safe collection classes for Ruby
Shoryuken is a super efficient AWS SQS thread based message processor
A collection of data structures and utilities to make thread-safe programming in Ruby easier
Set a Timeout based on signals, which are more reliable than Timeout. Timeout is based on green threads.
Includes a thread pool, message passing capabilities, a recursive mutex, promise, future and delay.
Setup signal handler which dumps backtrace of running threads and number of allocated objects per class. Require 'sigdump/setup', send SIGCONT, and see /tmp/sigdump-<pid>.log.
Set a Timeout based on signals, which are more reliable than Timeout. Timeout is based on green threads.
This plugin provides a 'Spawnling' class to easily fork OR thread long-running sections of code so that your application can return results to your users more quickly. This plugin works by creating new database connections in ActiveRecord::Base for the spawned block. The plugin also patches ActiveRecord::Base to handle some known bugs when using threads (see lib/patches.rb).
A thread-safe logging library designed to support multiple log destinations.
Sup is a console-based email client for people with a lot of email. * GMail-like thread-centered archiving, tagging and muting * Handling mail from multiple mbox and Maildir sources * Blazing fast full-text search with a rich query language * Multiple accounts - pick the right one when sending mail * Ruby-programmable hooks * Automatically tracking recent contacts
Socketry wraps Ruby's sockets with an advanced timeout engine which is able to provide multiple simultaneous timeout behaviors in a thread-safe way.
Thread-aware DNS resolver library in Ruby.
Ruby bindings to RE2, "a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python".
A Ruby gem for performing work in background threads.
Dump backtrace for all threads.
Support classes for working with threads.
EventMachine implements a fast, single-threaded engine for arbitrary network communications. It's extremely easy to use in Ruby. EventMachine wraps all interactions with IP sockets, allowing programs to concentrate on the implementation of network protocols. It can be used to create both network servers and clients. To create a server or client, a Ruby program only needs to specify the IP address and port, and provide a Module that implements the communications protocol. Implementations of several standard network protocols are provided with the package, primarily to serve as examples. The real goal of EventMachine is to enable programs to easily interface with other programs using TCP/IP, especially if custom protocols are required.
Cobweb is a web crawler that can use resque to cluster crawls to quickly crawl extremely large sites which is much more performant than multi-threaded crawlers. It is also a standalone crawler that has a sophisticated statistics monitoring interface to monitor the progress of the crawls.
Thread-safety checks via static analysis. A plugin for the RuboCop code style enforcing & linting tool.
Abstract container-based parallelism using threads and processes where appropriate.
Zero-footprint in-memory thread-safe cache
A synchronization barrier enables multiple threads to wait until all threads have all reached a particular point of execution before any thread continues.
Glimmer DSL for SWT (JRuby Desktop Development Cross-Platform Native GUI Framework) is a native-GUI cross-platform desktop development library written in JRuby, an OS-threaded faster JVM version of Ruby. It includes SWT 4.30 (released on December 1, 2023). Glimmer's main innovation is a declarative Ruby DSL that enables productive and efficient authoring of professional-grade desktop applications by relying on the robust Eclipse SWT library, with the familiar native look, feel, and behavior of GUI on Mac, Windows, and Linux. Glimmer additionally innovates by having built-in data-binding support, which greatly facilitates synchronizing the GUI with domain models, thus achieving true decoupling of object oriented components and enabling developers to solve business problems (test-first) without worrying about GUI concerns, or alternatively drive development GUI-first, and then write clean business models (test-first) afterwards. Not only does Glimmer provide a large set of GUI widgets, but it also supports drawing Canvas Graphics like Shapes and Animations. To get started quickly, Glimmer offers scaffolding options for Apps, Gems, and Custom Widgets. Glimmer also includes native-executable packaging support, sorely lacking in other libraries, thus enabling the delivery of desktop apps written in Ruby as truly native DMG/PKG/APP files on the Mac, MSI/EXE files on Windows, and DEB/RPM files on Linux. Glimmer was the first Ruby gem to bring SWT (Standard Widget Toolkit) to Ruby, thanks to creator Andy Maleh, EclipseCon/EclipseWorld/RubyConf speaker. If you liked Shoes, You'll love Glimmer!
Watches for termination of multiple threads.
This is an update to the old `gem mirror` command. It uses net/http/persistent and threads to grab the mirror set a little faster than the original. Eventually it will replace `gem mirror` completely. Right now the API is not completely stable (it will change several times before release), however, I will maintain stability in master.
Send puma metrics to statsd via a background thread
The RTF library provides a pure Ruby set of functionality that can be used to programmatically create RTF documents. The main aim in developing this library is to ease the complexity involved in assembling RTF documents although some consideration has also been given to generating documents that are easier to manually interpret too. This library does not include functionality for parsing RTF documents. Nor does the library claim to provide extensive coverage of the RTF specification. The library was developed mostly with reference to the RTF Pocket Guide by Sean M. Burke and some reference to the RTF specification itself. The introduction to the RTF Pocket Guide states that the book covers version 1.7 of the RTF specification so I guess, as this was the primary source, that this is the version that the library covers too. Finally, no consideration was given to making the functionality within the library thread safe. In creating this library I set out to make it reasonably easy to create RTF documents in code. Having said that I'm certain that it is possible to generate invalid RTF documents with this library.
Ruby standard library threads_wait.
Powerful, flexible, lightweight, thread-safe interface to the BitPay developers API
This gems allows you to access in a Ruby friendly way the internal JVM monitoring tools for things like System, Threads and Memory information
Config. Defined as a class. Used as an instance. Support for inheritance and composition. Lazy instantiation. Thread-safe. Command-style DSL. Validation layer. Support for YAML, TOML, JSON, __END__, ENV. Extremely simple to define. Extremely simple to use.
A tunable work queue, designed to coordinate work between a producer and a pool of worker threads.
Implements a thread based worker pattern on top of JRuby-Rack. Useful if you'd like to run background workers within your (deployed) web-application, concurrently in 'native' threads, instead of using separate daemon processes. Provides (thread-safe) implementations for popular worker libraries such as Resque and Delayed::Job, but one can easily write their own 'daemon' work processing loop as well.
A simple, generic, thread-safe pool for connections or whatever else
The win32-event library provides an interface to Windows event objects. An event object is a synchronization object whose state can be explicitly set to a signaled state. Event objects are useful in sending a signal to a thread indicating that a particular event has occurred.
Solano CI runs your test suite simply and quickly in our managed cloud environment. You can run tests by hand, or enable our hosted CI to watch your git repos automatically. Solano CI automatically and safely parallelizes your tests to save you time, and takes care of setting up fresh isolated DB instances for each test thread. Tests have access to a wide variety of databases (postgres, mongo, redis, mysql, memcache), solr, sphinx, selenium/webdriver browsers, webkit and culerity. Solano CI supports all common Ruby test frameworks, including rspec, cucumber, test::unit, and spinach. Solano CI also supports Javascript testing using jasmine, evergreen, and many other frameworks.
Heel is a small static web server for use when you need a quick web server for a directory. Once the server is running, heel will use (https://rubygems.org/gems/launchy/) to open your browser at the URL of your document root. Run it right now! `gem exec heel` ----- Heel is built using (https://github.com/rack/rack) and (https://puma.io) % heel Launching your browser... Puma starting in single mode... * Puma version: 6.2.1 (ruby 3.2.2-p53) ("Speaking of Now") * Min threads: 0 * Max threads: 5 * Environment: none * PID: 11322 * Listening on http://0.0.0.0:4331 Use Ctrl-C to stop Or run it in the background % heel --daemonize Launching your browser at http://0.0.0.0:4331/ % heel --kill Sending TERM to process 3304 Done.
A Ruby gem for checking the links in a web site. Can either scan files or crawl pages. Multi-threaded, with red/green colored output, support for SSL, and support for following redirects. Works great with Octopress, Jekyll, or any collection of static HTML files. With 100% RSpec coverage.
Provide thread local variables for ruby 1.9 and API for all ruby versions
Smart lazy multi-threaded parser for VCF format with useful filtering and output rewriting (JSON, RDF etc.)
Run all possible enumerable methods in concurrent/parallel threads
Powerful, flexible, lightweight, thread-safe interface to the BitPay developers API
This plugin provides native process instrumentation for monitoring and metrics collection, including: process status, uptime, thread count, and others
This utility presents hints and suggestions to give you an idea of potentially troublesome spots in your code and dependencies that keep your code from running efficiently on JRuby. Most pure Ruby code will run fine, but the two common areas that trip people up are native extensions and threading