人
我正在开发一个Rails 4应用程序,需要每隔10秒轮询网络一些数据。 对等体是小型嵌入式系统,它返回time_stamp和我发布到DB的一些数据。我在Ubuntu 12.04 64位上使用MRI 2.0.0 + Rails 4.0.0。
以这种方式,我在application.rb中创建了一个“类似单身”的服务对象,并让它运行一个同步的轮询线程。此轮询器将我的ActiveRecord模型更新为DB。
我在Ruby / Rails中不推荐使用Threading。但不幸的是我找不到任何其他解决方案。这种轮询机制对应用程序数据捕获程序至关重要,并且正在耗费我的时间。
现在我有两个“不知道”:
1>这个应用程序结构有什么解决方案吗?线程是否可行? 2 - ;由于我仍处于开发模式,因此只有一个“瘦”运行。当我在nginx / apache部署后聚集3“thins”时,我的app会不会制动?
提前致谢。
答案 0 :(得分:1)
结帐Resque,DelayedJob或Sidekiq。您希望有一个单独的进程来执行后台任务管理,因此您的Rails应用程序主要关注处理Web请求,而不是后台工作。