0
我在Heroku里运行一个rails应用程序,我使用Rufus Scheduler。如何避免Rufus调度程序被多次调用,因为没有dynos?
我的应用程序使用多个和调度程序运行在每个而不是一个,所以我定的事件(每个一次)射击多次。
我该如何避免这种情况?
我在Heroku里运行一个rails应用程序,我使用Rufus Scheduler。如何避免Rufus调度程序被多次调用,因为没有dynos?
我的应用程序使用多个和调度程序运行在每个而不是一个,所以我定的事件(每个一次)射击多次。
我该如何避免这种情况?
你应该在你Procfile
添加一个新的流程型运行您的鲁弗斯调度过程:
web: unicorn -c app/config/unicorn.rb ... # Your existing web dyno process
scheduler: rake rufus:scheduler # Add rake task for rufus scheduler process
然后可以使用heroku ps:scale
设置一个调度的测功机和N网络DYNOS。
编辑
你目前包含您的鲁弗斯调度Rails应用程序。当您将该应用程序部署到Heroku时,您的Rails应用程序代码和所需库将安装在每个测试仪上(通过一个或多个构建包)。 dyno是一个在您的应用程序中运行进程的虚拟机。
默认情况下,您有运行Rails Web应用程序服务器的dyno。如果添加第二种类型的测试仪,它将具有相同的代码库和库,但运行不同的过程。在这种情况下,第二个过程将是您的Rufus调度程序过程。
我应该在哪里保留我的rufus:scheduler文件。我目前在config/initializer中使用了rufus调度器。所以这是好的,还是我必须从调度程序采取此并保持在单独的文件? – logesh
我将添加Heroku上的Rails应用程序的解释。 – Winfield
我还需要一个帮助。我无法将我的更改推送到heroku,并指出“此Git回购请求过多,请稍后再试。”我在heroku开发中心阅读了这篇文章,但找不到解决方案。 – logesh