I am creating a rails app that helps move data between two sites and I wanted to keep the users informed of the complex, and slow, background work that was being performed outside the http request response cycle. The functionality that comes with Sidekiq Pro was a half decent solution but I wanted the progress on the front-end to show something more detailed than something like 16/42 units of work complete, especially as some units of work were far more time consuming than others.
The result is Sidekiq::TrackableBatch[0]. Check out the demo app[1] that shows how it could be used in the context of a e-commerce site. The demo (source[2]) uses action cable to update the UI.
I've seen it mentioned by a few people, including Redux creator Dan Abramov (who is very open about tweeting links to 'competing' libraries!), but I've only taken a brief look so far.
My initial impression is that it seems really interesting, although I wonder if the use of generators will scare people away. Many devs are already exhausted with the number of new JavaScript features they're being told to learn.
I definitely want to dig a bit deeper and try it out properly though.
Best comparison I've seen so far is that it's sort of like "background processing threads for Redux". The downside is that it might not mix well with time-travel debugging, because a saga effectively has its own internal state.
That said, Dan Abramov does seem to think it's a very intriguing approach, so it's worth keeping an eye on.
I do. V1 UUIDs, due to the generation via timestamps makes them sortable. This is a obvious boon for DB indexing.
Specifically with Postgres I use the v1mc version as it provides the added benefit of using "a random multicast MAC address instead of the real MAC address of the computer"[0].
Do you use task manager (Hotdog menu > More tools) to kill tabs that you are not currently using? Also chrome 46 looks to be getting much better[0]; although I have also noticed a sizeable improvement with 45.
I am very familiar with RLS, but not schemas. Could you provide an example of how you would use schemas? If not too much trouble, could you also use my salesperson example from my other comments?
I am creating a rails app that helps move data between two sites and I wanted to keep the users informed of the complex, and slow, background work that was being performed outside the http request response cycle. The functionality that comes with Sidekiq Pro was a half decent solution but I wanted the progress on the front-end to show something more detailed than something like 16/42 units of work complete, especially as some units of work were far more time consuming than others.
The result is Sidekiq::TrackableBatch[0]. Check out the demo app[1] that shows how it could be used in the context of a e-commerce site. The demo (source[2]) uses action cable to update the UI.
I hope somebody finds it useful.
[0] https://github.com/darrhiggs/sidekiq-trackable_batch#usage [1] https://sidekiq-trackable-batch-demo.herokuapp.com/ [2] https://github.com/darrhiggs/sidekiq_trackable_batch_demo_ap...