> On Jan 7, 2025, at 12:05 AM, k...@krot.org wrote: > > > > • Glyph [2025-01-06 23:24]: >>> On Dec 16, 2024, at 5:04 PM, Kirill Miazine <k...@krot.org> wrote: >>> >>> • k...@krot.org [2024-12-14 18:18]: >>> [...] >>>> In November last year I challenged myself with a task to make a service >>>> monitoring solution to replace NodePing for me, and I was considering >>>> asyncio vs Twisted. In the end, I went with the asyncio route and managed >>>> to >>>> get away using just standard Python libs (to run checks, and to send >>>> alerts, >>>> I use external commands such as ping/ping6, drill, ldns-dane, nc, curl -- >>>> especially the latter is able do do *a lot*). Now I'm tempted to make it >>>> work under Twisted, too. The checks themselves are not themselves dependent >>>> on asyncio, so I'd have to orchestrating facilities, including some queue. >>> >>> so now I've got a prototype, a simple test run with 100K checks on my >>> 3 y.o. thinkpad gives me 1425 check/second with twisted and 1130 >>> check/second with asyncio and standard loop and something very horrible >>> with asyncio with uvloop. the checks were simple calls to /usr/bin/true, >>> which always succeeds. >>> >>> that's more that enough for my needs (I'm doing about 2-3 check/second), >>> so I'll see if I can complete the twisted version of the mointor and >>> have it run along the current one. >>> >>> in any case, I have a possible other usage in sight: custom auth <-> >>> ldap proxy via ldaptor (to see if it would work with stalwart mail >>> server). >>> >>> this is fun! >> This is a very cool anecdote and I really appreciate you sharing it :) >> Let us know how it goes! > > Well, I didn't proceed with the ldaptor _yet_, but I successfully migrated my > "Pyng" monitoring (details about it in Norwegian > https://www.kode24.no/artikkel/ville-spare-penger-erstatta-nodeping-med-1350-linjer-egen-kode/80883713) > to Twisted, and also finally managed to add a facility which not would do > active monitoring (such as e.g. ping etc) but do passive monitoring > (push/heartbeat-like, such as https://healthchecks.io/ or > https://deadmanssnitch.com/). I had been thinking about how to do the latter > in an elegant way without adding some external storage for about a year, and > with Twisted I had all the necessary pieces right there. I also added some > web stuff with JSON reporting. > > Another "success" story is migration of uptime.is API: > https://get.uptime.is/api (more about it at https://uptime.is/about#api) is > also Twisted now.
Thanks for these updates! This is really cool. > In a way I feel like I'm going backwards in time, but I do appreciate boring > tech which just works. Sometimes it works differently to what the docs say, > though ;) We'll get that fixed eventually :). Maybe… very eventually. But eventually. > > Greetings > Kirill > >> -g >> _______________________________________________ >> Twisted mailing list -- twisted@python.org >> To unsubscribe send an email to twisted-le...@python.org >> https://mail.python.org/mailman3/lists/twisted.python.org/ >> Message archived at >> https://mail.python.org/archives/list/twisted@python.org/message/LNFM75DGHHZQAY257GWS54JFP6XXZ5OL/ >> Code of Conduct: https://twisted.org/conduct > > _______________________________________________ > Twisted mailing list -- twisted@python.org > To unsubscribe send an email to twisted-le...@python.org > https://mail.python.org/mailman3/lists/twisted.python.org/ > Message archived at > https://mail.python.org/archives/list/twisted@python.org/message/J5VERCKGSBNABSXHLXFEYRFZXAW2XT2B/ > Code of Conduct: https://twisted.org/conduct
_______________________________________________ Twisted mailing list -- twisted@python.org To unsubscribe send an email to twisted-le...@python.org https://mail.python.org/mailman3/lists/twisted.python.org/ Message archived at https://mail.python.org/archives/list/twisted@python.org/message/4OL7K525UVL5LNSAUXNEDFM64AFOH353/ Code of Conduct: https://twisted.org/conduct