我正在连接到 Twitter 的流 API 以获取我的 Rails 应用程序的更新流,将它们添加到数据库等,等等。
在 Heroku 上执行此操作的最佳方法是什么?现在,我正在使用delayed_job gem - 问题是作业(连接到Twitter Streaming API)在几个小时后过期。
有没有办法让工作永远运行,或者有更好的方法来做到这一点?
谢谢
我正在连接到 Twitter 的流 API 以获取我的 Rails 应用程序的更新流,将它们添加到数据库等,等等。
在 Heroku 上执行此操作的最佳方法是什么?现在,我正在使用delayed_job gem - 问题是作业(连接到Twitter Streaming API)在几个小时后过期。
有没有办法让工作永远运行,或者有更好的方法来做到这一点?
谢谢
我不会让工作“永远运行”,因为这也意味着永远加载 CPU。
通常处理这种情况的方式是使用cron 作业,该作业以特定的时间间隔(每分钟、每小时、每几天等)启动特定脚本。
几乎每个虚拟主机都提供了一个简单的界面来通过它们的后端(例如:CPanel)设置此类 cron 作业。
如果您正在运行自己的服务器,您可能已经知道如何配置此类作业。如果不这样做,则必须查找适合您在服务器上运行的操作系统的单独设置指南……总有一种方法可以以特定的时间间隔运行“作业”(即使在 MS Windows 服务器上 - 通过调度)。
要获得更详细的描述和更好地了解“cron”是什么,您可能需要查看Wikipedia 上的“cron”文章,该文章还提供了一些非常好的示例。