Project

yup

0.01
Repository is archived
No release in over 3 years
Low commit activity in last 3 years
Just answers 200 (or specified) to a client and asynchronously forwards HTTP request to a configured host
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
 Dependencies

Development

>= 0
~> 1.2
~> 1.8.4
~> 4.5
~> 0.7.1
~> 0.8.0

Runtime

 Project Readme

yup daemon¶ ↑

Build Status Dependency Status

This is the small daemon to forward HTTP requests when response is known or unimportant.

When a http request is arrived the yup daemon (yupd), it answers 200 OK (customizable). Then the yupd forwards the http request to the specified host and retries if a timeout error was happend.

Non-persistent queue¶ ↑

By default, no persistence is used and forwarded requests is not serialized. A limit (the option –watermark) at which new concurrent requests will be dropped.

Persistent queue¶ ↑

If you want use persistent queue you need to specify the option –persistent with uri.

One of use cases¶ ↑

For example we can have a rails app which send exceptions to an Errbit by the gem airbrake. We know the errbit can be not available by network issues or some else reasons, but we do not want to lose exceptions. To resolve this problem we can start yupd on the same host with the rails app:

yupd --listen localhost:8081 --status-code 201 --persistent bdb:///var/db/yupd-errbit errbit.host.somewhere

Or if you have Redis:

yupd --listen localhost:8081 --status-code 201 --persistent redis://localhost/yupd-errbit errbit.host.somewhere

Reconfiguration of airbrake gem is very ease:

Airbrake.configure do |config|
  config.host    = "localhost"  # yupd host
  config.port    = 8081         # yupd port
  config.api_key = "api_key_for_your_app"
end

Now problem of availability errbit is assigned to the yupd.

Contributing to yup¶ ↑

Feel free to contribute.

Credits¶ ↑

Yup is maintained and funded by Denis Sukhonin.

Thank you to all the contributors!