Oliver Bock wrote on 06/19/2006 05:45 PM: > I think I should explain the system: the software allows the design and > execution of web surveys. The people writing code are constructing > surveys and sometimes need to write Python fragments to decide (for > example) which question is shown next. These designers work in house > and are trusted, but not sophisticated programmers. The people who fill > in the surveys (the great bulk of the activity) are not trusted and > cannot write Python fragments. > > Unfortunately it's the nature of the business that the designers need to > change the surveys and write code while the project is in field, so a > separation into a development and a production system is not practical. > > So, these survey designers occasionally write infinite loops, and don't > find them during testing. Then we invite 10000 people to do the survey > and some of them (by some weird combination of answers) find the > infinite loop in the code that is run on their behalves. Each of these > users locks up a thread until none remain. (Or one user will lock up > several via retries.) Then the server effectively stops working for > _all_ in-progress users, most of whom get annoyed, give up, and stop the > survey. > > I'm looking for a better way to manage this situation. > > Hello - I'm going to weigh in, switch from top posting to bottom posting, and say the hard words that need to be said: I think you are looking for a solution to the wrong problem. There are two opposing forces in this scenario: "These designers work in house and are trusted, but not sophisticated programmers" vs. "we invite 10000 people to do the survey"
IMHO - You need to change the development process and get these designers-cum-programmers either training or rigid code review by qualified developers. I'll admit that infinite loops can be tough to spot in heavily recursive code, but should be easy to spot in something that an "unsophisticated programmer" is putting together. Maybe there is some real reason why code needs to be modified by unsophisticated programmers in the field, when the field is a field of 10000 users, but that sounds like poor planning to me. If management is pushing for those kinds of development capabilities in order to drive their business, you should push back that their requirements demand more knowledgeable staff. my 2 cents - Ben _______________________________________________ Webware-discuss mailing list Webware-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/webware-discuss