Having just been off for a long Easter weekend, I was thinking about this, since I recall in the past having had a few tests expire (i.e. my client completed the task, but it was rejected when returned to the server as the task had expired and been issued to another client) when I am away for a few days and don't leave my machines crunching. I thought of a couple possible solutions/improvements that might help in this case:
1) Display the timeout on the pending_tests page - it's good to know how long I've had a test for, but if I don't know how long I've got left it's hard to know whether to abort it or not. From http://prime2u.com:11002/pending_tests.html it looks like I've got at least until ~7 days, but it's nice to be sure!
2) Allow users to reset/extend the timer on their tests e.g. by providing a reset/extend button/link on the pending_tests page next to each task. That way if I know I'm going to complete a task but not make the deadline I can get a bit of extra time (e.g. 24 hours, or some extra % of the original deadline).
3) Allow the prpclient to 'heartbeat' back to the server to let it know it's still working on a task. Every heartbeat should reset the clock on a task, so the task will only every timeout if the client is no longer working on that task.
Just some thoughts, it's a shame to lose a couple of days work (I am working on the GFN128K port, and tests take ~20 hours or so, on an i5 with hyperthreading, which is 2-3 days work since I only crunch in working hours on this machine. If you add in a 4-5 day long weekend, it's easy to miss a deadline). No idea how hard any of this would be to implement, but just something to think about!
Proud member of team "Aggie The Pew". Go Aggie!
3073428256125*2^1290000-1 is Prime!