Live data from Hacker News

Ask HN: Team fun event ideas during WFH?

news.ycombinator.com

271–273 of 273 posts

Re: Ask HN: Team fun event ideas during WFH?

#271

Earlier quoted context omitted.

(Self promotion) If you're looking for an alternative to Skribbl.io that has less ads you can check out a version I host[0]. It runs Scribble.rs[1] under the hood. They offer an official hosted herokuapp version here[2] but I've found it to be unreliable. [0] https://scribble.feud.today/ [1] https://github.com/scribble-rs/scribble.rs [2] https://scribblers-official.herokuapp.com/

May I ask why the heroku instance is unreliable?

I only skimmed the code but my guess would be:

* it's running on a single dyno, which will go to sleep if there is a lack of activity or your reach the usage limit for your account for the month.

* it's using websockets to communicate, but seems to not use any shared persistence for managing state. So running a 2nd dyno to load balance + keep dynos awake doesn't appear to be an option.

Re: Ask HN: Team fun event ideas during WFH?

#272

Earlier quoted context omitted.

May I ask why the heroku instance is unreliable?

I only skimmed the code but my guess would be: * it's running on a single dyno, which will go to sleep if there is a lack of activity or your reach the usage limit for your account for the month. * it's using websockets to communicate, but seems to not use any shared persistence for managing state. So running a 2nd dyno to load balance + keep dynos awake doesn't appear to be an option.

Well, I am not too well versed in this area. I'd be very happy to add a way to enable load balancing. Any tips, help or contributions are welcome ^^

Re: Ask HN: Team fun event ideas during WFH?

#273

Earlier quoted context omitted.

I only skimmed the code but my guess would be: * it's running on a single dyno, which will go to sleep if there is a lack of activity or your reach the usage limit for your account for the month. * it's using websockets to communicate, but seems to not use any shared persistence for managing state. So running a 2nd dyno to load balance + keep dynos awake doesn't appear to be an option.

Well, I am not too well versed in this area. I'd be very happy to add a way to enable load balancing. Any tips, help or contributions are welcome ^^

(Sorry, way late to this but if you're checking replies...)

At a high level it's a matter of doing the following:

* Persistence needs to be moved to something that isn't specific to a single dyno/can be shared across dynos (i.e., not local RAM or disk). * Updating your app code to check that shared store * Now you can scale up to N dynos, the limit on N usually determined by your budget or when the level of concurrency creates performance issues in some other connected system (e.g., the shared persistence).

For the type of use case you've got, specific to Heroku, what I've normally seen people do is use Redis as the shared bus or just refactor the app to use Pusher Channels (https://elements.heroku.com/addons/pusher) directly.

Post reply on HN