Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've got a simulation app (64-bit windows) that runs without any user interaction. This app gathers information and pushes it to a remote MS SQL Server. What I'd like to do is execute this simulation as many times as I can on multiple machines after our nightly build has finished and it has passed the test suite.

If possible I'd love to have the ability to configure it to stop after x total runs or if the entire batch has taken over y hours.

I've tried using Visual Studio's built in test framework since we already have a test lab set up with multiple agents. I created a single unit test that simply runs the simulation then I created an ordered test and added that single test multiple times (from what I gather, this is the only way to execute the same unit test more than once). I found that ordered tests are only run on a single agent and not distributed which is very limiting.

We use TeamCity to perform our nightly builds and I suspect it's possible to implement this on top of that, but I'm fairly new to TeamCity. We also have Jenkins and Bamboo available and I'm open to any other software that would get the job done presuming it runs on a 64-bit Windows OS.

Any suggestions?

share|improve this question

migrated from Sep 1 '12 at 20:36

This question came from our site for professional and enthusiast programmers.

I know about this subject much more from the Linux/Unix perspective. If I could not find any tool that would do the job for me then I would as follows:

  • The main machine has directory which can be visible in read/write mode by all shared machines.
  • All distributed machines test this directory every now and then to see a specific command file "A".
  • Each machine, after execution, leaves its own mark file on that shared directory.
  • The main machine stores in an separate command file "B" a job description (XML or whatever.)
  • Whenever you want to stop the job, you delete the "A" file.
  • All distrubuted machines, upon detection of the "A" file missing stop their jobs.

This way you can develop the procedure without any special program, TCP/IP knowledge. I hope it helps a little bit.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.