What gives?! This stuff is broken!!!
$ git clone https://bitbucket.org/hsarvell/pl-web
Cloning into 'pl-web'...
fatal: repository 'https://bitbucket.org/hsarvell/pl-web/' not found
Just yanking your chain. I know this is a mercurial repo. :)
Thanks, man. Looks good. I'll study the code when I get time in the
next few days.
On Fri, Jun 26, 2015 at 3:30 PM, Henrik Sarvell <hsarv...@gmail.com> wrote:
> Hi all, after over a month without any of the prior issues I now
> consider the websockets part of pl-web stable:
> https://bitbucket.org/hsarvell/pl-web Gone are the days of 100% CPU
> usage and zombie processes.
> With Alex's help the main web server is now more stable (he made me
> throw away a few throws in favour of a few byes). The throws were
> causing the zombies.
> I was also including dbg.l (it was causing hung processes at 100%
> CPU), it's basically been deprecated or something, I'll leave it up to
> him to elaborate. It's just something I've been including by habit
> since years ago when at some point I needed to include it to do some
> kind of debugging.
> Anyway atm the WS router is regularly routing up to 40 messages per
> second to upwards 300-500 clients which means that roughly 20,000
> messages are being pushed out per second during peak hours.
> The PL processes show up with 0 CPU and 0 RAM usage when I run top,
> sometimes 1% CPU :) They hardly register even i aggregate, the server
> would be running 99% idle if it was only running the WS server.
> To work around the inter-process limit of 4096 byte long messages the
> router now supports storing the messages in Redis (raw disk is also
> supported if Redis is not available), this is also in effect in
> production and is working flawlessly since months.
> This is how I start the WS server in production:
> (load "pl-web/pl-web.l")
> (setq *Mobj (new '(+Redis) "pl-ws-"))
> (undef 'app)
> (setq *WsAuth '(("notifications" (("send" ("put your password/key here"))))))
> (de app ()
> (de go ()
> (server 9090) )
> UNSUBSCRIBE: mailto:email@example.com?subject=Unsubscribe