Ruby redmine svn post commit钩子非常慢
我为svn使用以下提交后钩子:Ruby redmine svn post commit钩子非常慢,ruby,windows,performance,svn,redmine,Ruby,Windows,Performance,Svn,Redmine,我为svn使用以下提交后钩子: "path\to\ruby.exe" "path\to\redmine\script\runner" "Repository.fetch_changesets; Rails.logger.flush" -e production 它工作正常,但大约需要1-2分钟。 我还认为第一次提交需要很多时间,但后续提交需要相同的时间 有可能改善这种行为吗 我知道Ruby在Windows上的缓慢行为,大约3次,但在我的例子中,它要长得多 配置如下:Windows Vista、
"path\to\ruby.exe" "path\to\redmine\script\runner" "Repository.fetch_changesets; Rails.logger.flush" -e production
它工作正常,但大约需要1-2分钟。
我还认为第一次提交需要很多时间,但后续提交需要相同的时间
有可能改善这种行为吗
我知道Ruby在Windows上的缓慢行为,大约3次,但在我的例子中,它要长得多
配置如下:Windows Vista、redmine 1.1.1、Ruby 1.8.7和RubyGems 1.8.7,所有安装和测试的软件包都在同一台电脑上执行。问题是,
script/runner
每次运行新的Rails进程时都会从零开始启动,这会使您的提交暂停。因此,3次提交=3次启动和3次关闭
您可以做一些事情来改善这一点:
&
来实现这一点,但我不记得如何在Windows上实现这一点redmine:fetch\u changesets
就是为此而构建的,它将迭代每个项目,并为您运行fetch\u changesets
script\runner“Project.find('your-Project')。try(:repository)。try(:fetch\u changesets);Rails.logger.flush”
将“您的项目”替换为项目标识符(可以在Redmine中的大多数URL中找到)。try
部分用于确保不会得到空记录script/runner
。web服务将使用一个现有的Ruby进程,因此它应该已经被加载,唯一的减速将是Redmine下载和处理更改。这也可用于第一个选项(即后台web服务请求)。文件: