#So Squeezebox has an action to query the
1 messages · Page 1 of 1 (latest)
Just bump the timeout to something longer, like 30 - 60 s.
We don't want options for timeout.
What the timeout should be is integration specific.
@drifting valley what's the default timeout right now?
5 seconds
i can push the default to longer, but then for the majority of cases, that would be a bad thing
oh lol, that is pretty low
i.e. you then might have a really long wait
How often does it just not respond that a timeout is needed?
As a timeout only is needed for moments when the service just hangs
i don't get reports of timeouts in "normal" hardly at all. I (personally) get occassional (like once every couple of days) where the LMS doesn't respond and I get 4 or 5 timeouts. I've never managed to track it down - it just stops respond on the json interface. I've had one other report of that. The only time i see it is when people are doing something which they know takes a long time. For example, I have one atm where someone's music library is on a disk which spins down, so when he plays the first thing, it takes 30 seconds. We have a "wait to see if the thing we just did worked ok" in the library, so when something hasn't completed (although may still be working) we get a timeout
so - it hasn't necessarily hung - just hasn't finished yet sometimes
this one though is more specific around when you deliberately run a query
there, the response time is really just depending on complexity
But then this would mean those 4 or 5 timeouts would take 25 seconds longer
yes - like i said - that one's something on the lms side which i've never tracked down - also not linked to this specific one - this is just about when you deliberately run a query
i could just bump the timeout to longer, but then a legitimate problem won't timeout
like i said - on the query front, i dont have anyone complaining about incorrect timeouts in normal use - it's only when people do silly tings
things
then a legitimate problem
What could one be?
the challenge is we're dependent on the lms behaving nicely if you, for example, pass a plugin something it doesn't understand, but all plugins are different. so, if you tell one of the playlist building plugins to build a playlist and get your parameters wrong, you could have it trying to add thousands of tracks. If you're not intending to do something that you expect to take ages, having it timeout after a reasonable period seems to make sense.
i think pushing the 5 second limit up will cause more problems for people doing things by mistake than whn someone does something they know might take a long time and it times out
Hmm. How common is it that you tinker with the service first before moving on to implement it in an integration?
Because the mistake is still made, it just takes 25 seconds more to respond
yes - that's true. The userbase that will benefit from this PR is small, so if you guys don't like it, i'm not going to cry about it
but for those that want it, they get a bit stuck otherwise
I'd kinda opt to move it to a higher timeout, given that 5 seconds is low, and the only moment you'd notice is when LMS doesn't respond. If it dropped 1 in 4 requests, then having a higher timeout would be more annoying indeed
i guess i just don't understand why you don't like an optional timeout that only people that want it would ever use?
i.e. if you know you wnt it, it's there. Otherwise, no one would ever use it, so what's the negative?
@sullen wind can probably explain this better, but generally we approach integrations like "the integration knows what is best" and try not to overload the user with options that don't really matter for the majority of users. I think in this case the difference between 5 and 30 seconds is small. If some calls took 5 minutes, then I think I would agree on not raising it to 5 minutes, as that would negatively impact users in a major way
yeh - i guess it's a mindset thing. you see it as overloading them, I see it more as giving them choice. I get it's overloading them if they had to use it - make an active choice - but doing nothing different to what they do today is the default
anyway, like i said, if the mindset is that you don't like it, the affected user base is small
Joostlek already explained it good above. This is a rule we have for all integrations.