Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I hear "content update events that target individual users and need to be templated" and immediately rule out any approach involving a background job.

- Reddit doesn't use background jobs to render a new home page for every user after every update.

- Facebook doesn't use background jobs to render a new feed for every user after every update.

- Hacker News doesn't use background jobs to render a new feed for every user after every update.

Why? Because we have no guarantee a user will access the site on a particular day, or after a particular content update, so rendering every content update for every user is immediately the wrong approach. It guarantees a lot of work will be thrown away. The sensible way to do this is to render the page on demand, when (and IF) a user requests it.

Doing N*M work where N=<# of users> and M=<# of page updates> sure seems like the wrong approach when just doing N work where N=<# of times a user requests a page> is an option.

There's lots of less exotic approaches that work great for this basic problem:

- Traditional Server-Side Rendering. This approach is so common that basically every language has a framework for this.

- Single-Page Applications. If you have a lot of content that only needs updated sometimes, why not do the templating in the users browser?

- Maybe just use wordpress? It already supports user accounts and customization.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: