Re: Judge downtime protection ideas
"Jeff" <[email protected]>
| Newsgroups | gmane.games.diplomacy.judge.dp.discussion |
|---|---|
| Message-ID | <C717A210161C409D867EFEC1ADA8A2C0@Bob> |
Manus, My approach to downtime-protection would be to first compare the last time the job ran to the deadline for the game being processed. If a deadline passed since the last time the job ran, extend the deadline. I would keep the deadline time the same and change just the day to avoid having deadlines fall at an unexpected time of day. As to which day to extend to - the next available deadline or the one day further - I can think of two possible approaches: 1) Always extend an extra day. This is simple and assures that players will have at least 24 hours to get moves ready and that the GM will have at least 24 hours to manually adjust the deadline if he wishes. 2) Put in logic based on how long it has been since the job last ran and how far the deadline was missed by so that if a deadline happens to hit during a brief outage, the game is not extended unnecessarily. This option is more difficult to implement and may not be necessary as the GM can always manually adjust the deadline to an earlier time. The logic for the second option would require some thought, so I'd just implement the first option quickly and then decide whether it is worth going further. For either approach, there would need to be a tiny bit of extra logic to make sure the new deadline falls on an allowable day, for example, if the new deadline would be on a Saturday and the game only uses weekday deadlines, it would need to be pushed to Monday. The final question to consider is a game that has not passed its deadline, but is close. That's a more difficult question that depends on how close the deadline is and how long the judge was out for. Maybe someone can suggest a formula along the lines of if the deadline is within x hours and the judge was down for more than y hours, the deadline is extended a day. You probably don't want to extend the deadline if the judge was down for a half-hour and the deadline is still two hours away, you probably do want to extend the deadline if the judge was down for two days and the deadline is two hours away. Finally, even though we keep saying "deadline", of course, many of the same changes would need to be applied to a game that was already into the grace period when the outage started. Cheers, Jeff ----- Original Message ----- From: Manus Hand To: [email protected] Sent: Saturday, June 27, 2009 11:42 AM Subject: [dpjudge] Judge downtime protection ideas DPjudgesters -- As you guys know (in some cases painfully), the DPjudge doesn't currently detect the end of an outage, which means that unintentional CD's (another reason I hate the rule) and player dismissals often happen when the judge comes back up after it's taken a hit. Well, I was thinking that for the still-in-test next version of the DPjudge, once floc.net gets back this time, I might try to put in some downtime protection. Here's the thoughts, which I'd like comment on: 1. When the job that processes games runs, it will detect when the LAST time it ran was, and if that time is more than X ago (suggestions for X? Two hours? Twelve hours? How long constitutes an "outage"?), it will consider an outage to have occurred. 2. For those games being processed in the run just after "an outage has occurred", if the game would process under CD, or would dismiss any players for missing the deadline, rather than doing so, the deadline will be extended automatically to the current date-time plus Y (suggestions for Y? One "movement phase deadline" length?) 3. All other games would process as normal. Question: is this insufficient? Should ALL games get their deadlines extended so that a game that might happen to have its deadline only an hour after the judge is restored to service don't get the shaft during an upcoming processing-run? Perhaps the treatment should be given to all games having a deadline during the upcoming 24 hours or anytime before?? Comments? Manus