I'm running stable cluebringer-2.0.10. On Mon, Dec 13, 2010 at 2:34 PM, Nigel Kukard <[email protected]> wrote:
> On 12/13/10 22:11, dingni wrote: > > Thanks for the explanation. So I went back dig though mail list and come > back with this relative topics: > http://lists.policyd.org/pipermail/users/2009-October/002827.html > http://lists.policyd.org/pipermail/users/2010-May/003033.html > http://lists.policyd.org/pipermail/users/2010-January/002905.html > > > If the windows is dynamic, then I could send double the total of quota > limit. > > Example: > > Period: 300s(5 minutes), quota limit 8(which means block at 10th > recipients) > > Dec 13 13:26:15 mailman cbpolicyd[2234]: module=Quotas, mode=update, > host=192.168.0238, helo=kkkkk, [email protected], to= > [email protected] reason=quota_update, policy=10, quota=7, limit=8, > track=Sender:[email protected] <sender%[email protected]>, > counter=MessageCount, quota=*1/8* (12.5%) > Dec 13 13:26:16 ... quota=2/8 (24.2%) > Dec 13 13:26:17 ... quota=3/8 (35.2%) > Dec 13 13:26:19 ... quota=4/8 (47.2%) > Dec 13 13:26:20 ... quota=5/8 (59.4%) > Dec 13 13:26:21 ... quota=6/8 (71.3%) > Dec 13 13:26:22 ... quota=7/8 (86.6%) > Dec 13 13:26:22 ... quota=8/8 (98.8%) > > Waited( look below at *formula 1)* > > Dec 13 13:29:57 ... quota=*3/8* (40.5%) > Dec 13 13:30:32 ... quota=4/8 (48.3%) > Dec 13 13:30:33 ... quota=5/8 (60.6%) > Dec 13 13:30:34 ... quota=6/8 (72.9%) > Dec 13 13:30:35 ... quota=7/8 (85.2%) > Dec 13 13:30:36 ... quota=8/8 (97.4%) > Dec 13 13:30:37 ... quota=9/8 (109.6%) > > waited > Dec 13 13:31:10 .. quota=9/8 (110.0%) > Dec 13 13:31:11 Dec 13 13:31:11 mailman cbpolicyd[12995]: module=Quotas, > action=*reject* quota=*10/8* (122.1%) > Dec 13 13:31:11 > > > I'd like to see full debug logs with this running on RC1 + the patch Robert > Anderson posted, as this is just not possible in the code path. > > # Quotas.pm - Line 191 > if ($currentCounter > > $limit->{'CounterLimit'}) { > $hasExceeded = "Policy rejection; > Message count quota exceeded"; > > > > > *formula 1:* > http://lists.policyd.org/pipermail/users/2010-January/002905.html > Delta = (1 - (Now - LastUpdate) / Period) * LastCount + 1 > = (1-(13:29:57 - 13:26:22)/300) * 8 + 1 > = 3.26 > 3.26 rounds down to 3 > > So, in total, I was able to send 16 messages(recipients). > > My intention is to limit a client to send 100 emails(recipients) a day. > > > Very many changes have taken place since 2009 and now. For the full > mathematical calculation on how the values are worked out one would need to > reference the code. > > The exact calculation is ... (as far as I can see at 00:30 in the > evening). > > (Simon, for your reference too. Robert, please add this to the site for > future reference) > > 1. Counter = DBValue > 2. ElapsedTime = Now - LastUpdate > 3. IF ElaposedTime > Period THEN CurrentCounter = 0 ELSE CurrentCounter = ( > 1 - (ElapsedTime / Period) ) * Counter > 4. Delta = CurrentCounter - Counter > 5. CurrentCounter++ > 6. IF CurrentCounter > Limit THEN <action> > 7. DBValue += Delta (+1) > > So ... > Counter = 8 > ElapsedTime = 13:29:57 - 13:26:22 = 215 > CurrentCounter = ( 1 - (215 / 300) ) * 8 = 2.27 > Delta = 2.27 - 8 = -5.73 > * * allow mail .... CurrentCounter (+1) < Limit * * > DBValue += -5.73 (+1) = 3.27 > > > Are you using the latest RC1 with the patch that Robert Anderson posted? > > -N > > > > _______________________________________________ > Users mailing list > [email protected] > http://lists.policyd.org/mailman/listinfo/users > >
_______________________________________________ Users mailing list [email protected] http://lists.policyd.org/mailman/listinfo/users
