
Security News
Follow-up and Clarification on Recent Malicious Ruby Gems Campaign
A clarification on our recent research investigating 60 malicious Ruby gems.
Async is a composable asynchronous I/O framework for Ruby based on io-event.
"Lately I've been looking into
async
, as one of my projects – tus-ruby-server – would really benefit from non-blocking I/O. It's really beautifully designed." – janko
Please see the project documentation for more details.
Getting Started - This guide shows how to add async to your project and run code asynchronously.
Scheduler - This guide gives an overview of how the scheduler is implemented.
Tasks - This guide explains how asynchronous tasks work and how to use them.
Best Practices - This guide gives an overview of best practices for using Async.
Debugging - This guide explains how to debug issues with programs that use Async.
Thread safety - This guide explains thread safety in Ruby, focusing on fibers and threads, common pitfalls, and best practices to avoid problems like data corruption, race conditions, and deadlocks.
Please see the project releases for all releases.
Async::Scheduler#async
.context/index.yaml
schema.Async::Task#stop
supports an optional cause:
argument (that defaults to $!
), which allows you to specify the cause (exception) for stopping the task.Async::Notification#signal
now returns true
if a task was signaled, false
otherwise, providing better feedback for notification operations.require "async/limited_queue"
is required to use Async::LimitedQueue
without a deprecation warning. Async::LimitedQueue
is not deprecated, but it's usage via async/queue
is deprecated.Async::Task#sleep
is deprecated with no replacement.Async::Task.yield
is deprecated with no replacement.Async::Scheduler#async
is deprecated, use Async{}
, Sync{}
or Async::Task#async
instead.agent-context
gem.Async::Barrier
ImprovementsAsync::Queue#close
io_select
hook in the fiber scheduler, allowing non-blocking IO.select
operations. This enables better integration with code that uses IO.select
for multiplexing IO operations.IO::Event::WorkerPool
for Blocking OperationsIO#close
using fiber_interrupt
Async::Wrapper
which was previously deprecated, is now removed.ASYNC_SCHEDULER_DEFAULT_WORKER_POOL
to ASYNC_SCHEDULER_WORKER_POOL
.async-http
.We welcome contributions to this project.
git checkout -b my-new-feature
).git commit -am 'Add some feature'
).git push origin my-new-feature
).In order to protect users of this project, we require all contributors to comply with the Developer Certificate of Origin. This ensures that all contributions are properly licensed and attributed.
This project is best served by a collaborative and respectful environment. Treat each other professionally, respect differing viewpoints, and engage constructively. Harassment, discrimination, or harmful behavior is not tolerated. Communicate clearly, listen actively, and support one another. If any issues arise, please inform the project maintainers.
FAQs
Unknown package
We found that async demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 32 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A clarification on our recent research investigating 60 malicious Ruby gems.
Security News
ESLint now supports parallel linting with a new --concurrency flag, delivering major speed gains and closing a 10-year-old feature request.
Research
/Security News
A malicious Go module posing as an SSH brute forcer exfiltrates stolen credentials to a Telegram bot controlled by a Russian-speaking threat actor.