Comments (5)
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.
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.
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.
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.
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)
- "None is not a valid AuthMethod" error HOT 1
- Use Uptime Kuma API key for authentication HOT 2
- New type 'group' is not a valid MonitorType HOT 3
- Missing sanitisation of `accepted_statuscodes` HOT 1
- Interval modification does not take effect HOT 2
- Bug: api do not return correct timeout error TimeoutError -> Timeout HOT 1
- Proxy: Rate Limiting / Timeout HOT 9
- need to modify the value of interval and retryInterval to make it lower than 20 HOT 2
- support uptime kuma v1.23.0 HOT 3
- Support for Quick Stats
- Retrieve monitor status inside get_monitors()
- Inconsistant Status calls using get_monitor_status HOT 1
- Missing return element in `api.delete_status_page` HOT 1
- set pathName or parent HOT 1
- Default info event does not fetch version under uptime-kuma with version 1.23.1 HOT 1
- save_status_page() failing because of unexpected keyword. HOT 3
- Bug: `api.add_tag()` takes 1 positional HOT 1
- Timeout on get_monitors()
- get_monitor_status for all monitors HOT 2
- error "list indices must be integers or slices, not str"
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from uptime-kuma-api.