【发布时间】:2011-07-21 13:03:13
【问题描述】:
我有一个作为守护进程运行的 rake 任务,它为新剧集抓取数千个播客 RSS 提要。如果它找到一个新剧集,它会将其写入数据库。如果它发现对旧剧集的更改,它将将该更改写入数据库。此守护进程不断运行。
现在假设用户访问特定播客的页面。在我看来,我有一个 ajax 轮询(彗星)进程,它将为给定的播客使用延迟作业获取新剧集。
现在我一次只能运行其中一个。我可以运行守护程序,也可以让用户触发 delay_job 进程。我是 Rails 新手,并不真正了解如何启用我需要的并发性。我没有在这里发布任何代码,因为此时我的问题实际上是概念性的。如何设计一个能够处理这种并发的应用程序?
我的印象是切换到 MySQL 可能会缓解其中一些问题,但是,我觉得我在这里错过了一个关键的难题。任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: mysql ruby-on-rails sqlite concurrency locking