Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^8: avoiding a race (roll over)

by tye (Sage)
on Sep 29, 2010 at 21:41 UTC ( [id://862715]=note: print w/replies, xml ) Need Help??


in reply to Re^7: avoiding a race (place snark here)
in thread avoiding a race

Ah. A tiny change to the original specification leads to "notify of errors but never more than once per hour for the same error", which is something I've seen done many times and is an obvious enhancement for a notification system and how I interpreted it.

Not notifying at all unless an error repeats after at least an hour is a strange specification but that is the original proposal as written. That also leaves an open question of what the window (if any) is for when you can purge ancient error messages (which is surely not just sensible but required for the system to not eventually just fall over).

As written, the spec is also broken because (unless you add to it), once an hour has passed you get an e-mail for every single repeat of the same error (which is clearly not what is desired based on the justification given).

And that still leaves a race with multiple e-mails, just a slightly different one. If X and Y both find 'file1' with a timestamp of more than 1 hour ago, then they will both e-mail about the same error at the same time. If you remove the race, then only the one that manages to update the timestamp of 'file1' would send the e-mail (for the next hour).

And, no, I'm not convinced that my misreading of the original spec isn't actually what is really desired. (The original spec, as written, is clearly not what is really desired.)

- tye        

Replies are listed 'Best First'.
Re^9: avoiding a race (roll over)
by BrowserUk (Patriarch) on Sep 29, 2010 at 21:57 UTC
    once an hour has passed you get an e-mail for every single repeat of the same error

    To quote my psuedo-code:

    a) If it is older than 1 hour: you delete the file; send an email; then move on

    As for whether the OP knows what he wants. Not my call. If he changes his spec, then I'd offer a different solution.

    I'd also probably close the miniscule window by using O_CREAT | O_EXCL, as discused way back there somewhere.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://862715]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2024-03-29 12:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found