semian
semian copied to clipboard
:monkey: Resiliency toolkit for Ruby for failing fast
Extract error pattern into constant to shorten long line. Quiets rubocop.
At least in my testing the port is a number, not a string.
# What Prevent a nil pointer dereference if attempting to read the name (or any other attribute delegated to bulkhead) of a protected resource without a bulkhead. # Why Since...
## Background MySQL and Redis supports static config, while NetHTTP and GRPC currently only Proc. e.g. https://github.com/Shopify/semian/blob/1d4b53be7819707f9c6eebc17bb9b50b46619271/lib/semian/mysql2.rb#L137-L140 https://github.com/Shopify/semian/blob/1d4b53be7819707f9c6eebc17bb9b50b46619271/lib/semian/net_http.rb#L67-L69 https://github.com/Shopify/semian/blob/1d4b53be7819707f9c6eebc17bb9b50b46619271/lib/semian/grpc.rb#L48-L50 ## Problem If pass a static config to NetHTTP and GRPC,...
Here is the service https://codeball.ai/prediction/2e37978b-7b3f-43c0-932d-659a0cb24b07 could automate approve some PRs with Github actions: https://github.com/sturdy-dev/codeball-action
When using semian in puma and enable bulkhead, there will be some errors raised. How about disabling bulkhead by default to avoid this problem?
I skipped test `TestResource#test_acquire_timeout_override work` in https://github.com/Shopify/semian/pull/328 Need to update the code and find how it should work.
I am having trouble to understand how to use the Semian gem to implement a circuit breaker around a HTTP call. I went through the README multiple times. As far...
This PR fixes #27. ## What Moves the implementation of circuit breakers to shared memory so circuit errors can be shared between workers on the same host. ## Why Currently,...
## What This PR attempts to address #244. It throttles the number of bulkhead tickets to 1 when the circuit opens, throttles to `success_threshold` when the circuit moves to `half_open`,...