如何将subversion post-commit挂钩作为低优先级单独线程运行

时间:2010-01-08 16:04:21

标签: svn post-commit svn-hooks

我有一个长期运行的post-commit钩子,用于更新subversion存储库的索引(来自项目http://svnquery.tigris.org/)由于作为svnquery的一部分提供的RunDetached可执行文件,postcommit钩子已作为单独的线程运行。 postcommit hook是

C:\SvnIndex\RunDetached C:\SvnIndex\svnindex.exe update D:\IndexData D:\repository -f "(/tags/)|(/branches/)"

这样做没问题,只是它将CPU使用率提高到100%并且使系统中的其他线程匮乏,使我的机器无响应。一般来说,从svn钩子运行具有较低线程优先级的进程吗?

(这是在Windows Server 2003框中)

2 个答案:

答案 0 :(得分:1)

你应该能够RunDetached一个运行svnindex的批处理文件,然后使用像ProcessUtil之类的东西来降低它的优先级。

答案 1 :(得分:1)

我建议您为svnindex项目提交增强请求:

  

添加新参数以指定   线程优先级

一旦实现了,您就可以将钩子脚本中的新参数传递给svnindex.exe,并让它以指定的线程优先级运行。