I just published LiveRSS, a library to stream RSS feeds. Some of the features include:
- Automatically polling of RSS feeds with a GenServer process
- Configurable polling rate
- RSS feed parsing using pure Elixir with
I’m planning to add callbacks but I’m not 100% sure on what’s the best approach for this using OTP.
Feel free to star it on GitHub. I’m quite new on building Elixir processes so I’m open to feedback here.
Not to nitpick, but when you say
pooling you really mean
polling, right? It is ok to have typo in a post but it looks like this spelling problem is all over the source. It will become much harder to fix down the road.
I actually spelled that wrong my whole life lol. Thanks for reporting. I’ll make sure to fix that.
I’d also say polling potentially large amount of infrequent sources using one GenServer each with
Process.send_after/2 is not the best way. Other than the resource issues, it will also make cancelling and early polling hard to implement. I would use one GenServer that trigger itself every minute and maintain a list of event sources by chronological order. If any polling is due, I can spawn off a process to do the actual work.