在用户首次登录后,我使用Sidekiq工作人员完成对Facebook的一些请求。通常,任务大约需要20秒左右。
我想在同步完成后立即使用ajax请求将一些信息加载到页面上,但我不确定使用Javascript检查作业完成的最佳方法。
一种可能性是配置Sidekiq工作程序在其余作业完成后设置cookie。然后我可以使用setTimeout函数在调用load函数之前继续检查cookie。但我不确定这是否是这样做的最佳方式。我可以使用Redis吗?
答案 0 :(得分:1)
这将是您在后端发生/完成异步事件时通知用户的更好解决方案。
提示:如果您正在使用heroku,那么您将拥有大量具有这种复杂性的库。
答案 1 :(得分:1)
然后你可以在js中使用setTimeout来轮询数据库中的更改...或者使用网络套接字可以查看更快,更自动的响应。我过去曾使用过名为Pusher的库。与rails集成非常容易,并且可以实现非常快速的UI。