Git Product home page Git Product logo

pyfailsafe's People

Contributors

albertferras avatar alevinval avatar cajturner avatar carl0ff avatar dependabot[bot] avatar jakubka avatar joanvila avatar jsoucheiron avatar rmariano avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pyfailsafe's Issues

Ability to specify delay or backoff when retrying

Something similar to what original Failsafe supports:

It can add a fixed delay between retries:

retryPolicy.withDelay(1, TimeUnit.SECONDS);

Or a delay that backs off exponentially:

retryPolicy.withBackoff(1, 30, TimeUnit.SECONDS);

FallbackFailsafe needs better explanation in readme

We need to show an example of setting retry_policy_factory and the circuit_breaker_factory, also stress out as much as possible that there needs to be just ONE instance of FallbackFailsafe per dependency.

Deployment fails for 'nightly' Python builds

Our Travis build is configured to run in Python 3.5 and 'nightly' Python: https://github.com/Skyscanner/pyfailsafe/blob/master/.travis.yml#L4

The problem is that it tries to deploy to pypi from both of these environments. The first one succeeds, but second one always fails: https://travis-ci.org/Skyscanner/pyfailsafe/jobs/408569147

(most likely because the package is already published).

The desired behaviour is that tests should be run in all environments (3.5, 3.6, 3.7, nightly) and after all these tests succeed, the deployment should be run once.

Can be used without asyncio?

The readme says I can use it with "classic" functions. Does it mean classic coroutines or sync functions? And I saw a recent commit that seemed that you were removing support for sync calls. Do you plan to bring the support to sync functions back?

Improve interface of run to allow arguments

It seems the run() method doesn't take parameters and in order to make it work, we need to pass a wrapped function with the parameters already bound (similar to using functools.partial), as done in

return await self.failsafe.run(lambda: self._request(url))

If this can be done internally by the method, the interface would be nicer.
I'm happy to contribute if you think this is a valid use case.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.