PDA

View Full Version : RE: slimscrobbler 0.27 bug/design feature



Craig, James (IT)
2005-02-23, 02:53
Kdf,
Can you explain further? How does using openRemoteStream help with these
problems?
Michael mentioned it but the problem for my use - lastfm plugin - (and
the audioscrobbler plugin) would be that you can't do a 'post' with
it...

On the slimscrobbler front I usually find it works fine (with no pauses)
or it's not working at all due to the audioscrobbler servers being
down/overloaded. Rejected submissions do not cause a pause in my
experience. I suggest changing the useragent timeout to something
suitably short (hence covered by the Squeezebox's buffer length) to fix
this problem.

James

-----Original Message-----
From: developers-bounces (AT) lists (DOT) slimdevices.com
[mailto:developers-bounces (AT) lists (DOT) slimdevices.com] On Behalf Of kdf
Sent: 23 February 2005 04:33
To: Slim Devices Developers
Subject: Re: [Developers] slimscrobbler 0.27 bug/design feature

Quoting Jack Coates <jack (AT) monkeynoodle (DOT) org>:

> As noted by the presence of a off-line/on-line option, slimscrobbler
> will hang up slimserver for a nice long time if it's not able to agree
> with the audioscrobbler server about what's going on. I've had a
couple
> today (thanks to the audioscrobbler guys for making this so easy to
see):
>
> Your plugin reported a submission error: Plugin bug: Submitted length
> out of bounds. Songs less than 30 seconds in duration are not
accepted.
>
> The other was also a submission error, which I failed to copy-n-paste,
> about dates being wrong.
>
> The big issue here is that it hangs up when something is going
wrong...
> I've done some simple fork() work with Perl that has proved to work
> pretty well cross-platform, but there's obviously big issues with
doing
> that in something as complex as Slimserver plus a bunch of plugins
> (especially since DBI isn't threadsafe). What about putting plugins
into
> their own execution space? But then this sucks for the plugins that
are
> supposed to execute in the main line, like AlienBBC.
>
> So I guess I don't have any good ideas, but would welcome discussion
> from those who know more.

6.0 has a non-blocking API that might be useful here. it is cross
platform,
simple, and doesn't require that someone currently working on other
important
tasks stop everything to implement it :) Of course, the reponses from
scrobbler could be optimised a bit too. Either way, using
Source::openRemoteStream should help a bit, and is the place to start
regardless of any future desires for forking/threading/launching virtual
copmuters with uniquely allocated rources, etc.

-kdf

kdf
2005-02-23, 03:00
Quoting "Craig, James (IT)" <James.Craig (AT) morganstanley (DOT) com>:

> Kdf,
> Can you explain further? How does using openRemoteStream help with these
> problems?

nonblocking should relieve the problem of hanging the server if a response isn't
prompt. as for using it, I'm not the best person to answer that. I just copy
the examples already being used in teh latest 6.0 builds :)

> Michael mentioned it but the problem for my use - lastfm plugin - (and
> the audioscrobbler plugin) would be that you can't do a 'post' with
> it...

there is a flag in HTTP::request to handle POST. If this isn't working, perhaps
its something can be fixed.

>
> On the slimscrobbler front I usually find it works fine (with no pauses)
> or it's not working at all due to the audioscrobbler servers being
> down/overloaded. Rejected submissions do not cause a pause in my
> experience. I suggest changing the useragent timeout to something
> suitably short (hence covered by the Squeezebox's buffer length) to fix
> this problem.

well, I haven't used it in a while, but I used to have huge problems getting a
valid submission. My server would die if I had the log going becuase it would
spit out literally MEGS of text containing the list of all the backlogged
songs. it got better, but still unreliable. After a while, it just gets in the
way when I am testing things. Its on my list of things to do when I rediscover
the concept of free time, along with LastFM :)