Received: from localhost (wm.hub.org [200.46.204.128]) by postgresql.org (Postfix) with ESMTP id 700679FA666 for ; Thu, 2 Nov 2006 23:15:02 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.128]) (amavisd-new, port 10024) with ESMTP id 77460-07 for ; Fri, 3 Nov 2006 03:14:58 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey- Received: from inetserver.servicepaper.com (67.105.202.226.ptr.us.xo.net [67.105.202.226]) by postgresql.org (Postfix) with ESMTP id 4F4639FA418 for ; Thu, 2 Nov 2006 23:14:57 -0400 (AST) Received: from [192.168.10.100] ([192.168.10.100]) by inetserver.servicepaper.com (8.11.6/8.11.6) with ESMTP id kA33EuE13827 for ; Thu, 2 Nov 2006 19:14:56 -0800 Message-ID: <454AB42F.9080406@nwlink.com> Date: Thu, 02 Nov 2006 19:14:55 -0800 From: Glen Parker User-Agent: Thunderbird 1.5.0.7 (Windows/20060909) MIME-Version: 1.0 To: pgsql-general@postgresql.org Subject: Re: Is there anyway to... References: <20061102171624.GE21312@localhost> <454A357E.6010409@linuxlouis.net> <454A394C.7020102@zijn-digital.com> <454A3EB6.8080806@linuxlouis.net> <454A40E3.40007@nwlink.com> <26B58EAC-4BCC-470E-AC5E-477A5AA4CA52@themactionfaction.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0.779 tagged_above=0 required=5 tests=BAYES_20, FORGED_RCVD_HELO, SPF_SOFTFAIL X-Spam-Level: X-Archive-Number: 200611/138 X-Sequence-Number: 103234 Wes Sheldahl wrote: > if you did have a cron > job run to check, you would probably just have it set a boolean field on > expired records or something of that sort, and run it a little after > midnight, at the start of each day, assuming durations were always being > measured in days. Exactly. You flag when you discover an expired condition, and you flag again when the condition is acted upon. Easy. The instructor doesn't need to be bothered any more than you choose. You could even set a timestamp indicating the last time the instructor was harrassed about it, so you can re-harrass on a daily or weekly basis :-) Now, my example that had the expire query run when the instructor logs on was just to illustrate that if you do this right, it doesn't matter when the code runs. Personally, I'd have a cron job do it at midnight, but whenever it runs, even if it's multiple times a day, the outcome should still be correct. That's where your status flags come in. Once a record has been expired, there's no reason for your expire code to ever look at that record again, right? -Glen