Giter Site home page Giter Site logo

Check connection state about uptime-kuma-api HOT 5 OPEN

lucasheld avatar lucasheld commented on May 30, 2024 1
Check connection state

from uptime-kuma-api.

Comments (5)

zimbres avatar zimbres commented on May 30, 2024 2

I wraped the get_monitors inside a function with this lib wrapt_timeout_decorator

@timeout(30)
def api_monitors():
    return api.get_monitors()

This way if I dont get a proper return, I can take another action like login again.

from uptime-kuma-api.

8ball030 avatar 8ball030 commented on May 30, 2024 2

Wanted to all of you guys, thanks for the amazing work you have just both literally saved me so so so much work.

from uptime-kuma-api.

lucasheld avatar lucasheld commented on May 30, 2024 1

I don't know if the login expires at some point.
However, it is possible that there is no longer a connection to the server due to a timeout or a connection failure.
Currently there is no way to check this, except to recreate the instance and log in again in case of such an exception.

Has this happened more than once? Can you determine a pattern? How long does it take before the connection gets lost?

from uptime-kuma-api.

zimbres avatar zimbres commented on May 30, 2024 1

I tried to force some kind off network failure in order to get some error, but had no success, even if after a network error, your lib keeps working.

But, it is expected to have some kind of failure behavior that requires a new login.

The point is avoid login on each call. I have a remote probe to use with "push" monitor type today getting the sensor configuration from a local configuration, but I want top get this from some tags in the monitor to have it more dynamic, to do this I create an API using your package to call it from my code that is C#, and this call will happen each minute.

By the way, your lib helped a lot since there is no official implementation for get sensors details directly from UptimeKuma.

This is my App if can be usefull for you: UptimeKumaRemoteProbe

from uptime-kuma-api.

mariogarridopt avatar mariogarridopt commented on May 30, 2024 1

I had a similar problem. I think even an invalid login might hang the process.
The only way I found to unstuck was to disconnect it.

So I just wrap the code into a try-catch block (so errors wont block code execution) and then disconnect at the end:

from uptime_kuma_api import UptimeKumaApi

try:
    api = UptimeKumaApi('http://localhost:3001')
    api.login('admin', 'admin')

    monitor_list = api.get_monitors() # get all monitors
    print(monitor_list)
except:
    print("Connection was unsuccessfull")
finally:
    api.disconnect()

from uptime-kuma-api.

Related Issues (20)

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.