Hi Steve,

Howie Hamlin wrote:
It seems that sometimes CFFILE does not properly delete files.  I've actually 
written scripts to delete unneeded mail files from servers and often run them 
with the inFusion Scheduler on a daily basis.

Following on from that if this list allows attachments here is the script that we used run as a scheduled item on a continuous basis. Run it on its own with no URL parameters and it will show you how many files there are in the mail directory and how many files there are in the database. With the relevant parameters it will delete all orphans in both places. This code is only for mail that is on the main mail directory. If you use domain-based directories then the directory reading part will have to be made recursive or some such.......

We found that <CFFile's deletion can be unreliable under heavy load, we had to implement this maintenance routine a long time back. Now we store mail by account, using <CFFile to copy the emails and it works fine! :-), and use a different technique to audit everything. We found that the majority of cases it was where one email went to more than one account and the time to delete was too long as the POP quit.cfm looped round. No we limit the maximum number of downloads at any one time to reduce that looping time.


Kym K
Regards,

Howie

--- On Wednesday, November 29, 2006 8:42 PM, Stephen Garrett scribed: ---
All, been investigating some performance problems with Fusionmail and
have run into a case whereby Fusionmail is not deleting the mail
files, one account had over 116,000 files in it. You can imagine the
performance problem here, just using Windows Explorer to look into
the folder is beyond painful.

Can anyone think why these files are not being cleaned up? The logs
indicate that DELE are being issued for emails read on that account...

Thanks for any thoughts,

Steve


HTH

Kym K

==^=======================================================
This list server is Powered by iMS  "The Swiss Army Knife of Mail Servers"
--------------------------------------------------------------------------------------
This list is provided as a free service.  Although we will try to address issues
in a timely manner, support via this list is not guaranteed.  If you require 
expedited
support then a support contract is required.  Support may be purchased from
http://www.coolfusion.com/commerce.  Details regarding support options may be 
reviewed
at: http://www.coolfusion.com/SupportOptions.cfm
--------------------------------------------------------------------------------------
To leave this list please complete the form at 
http://www.coolfusion.com/Support/
Need an iMS Developer license?  Sign up for a free license here:
http://www.coolfusion.com/Developers/
List archives: http://www.coolfusion.com/cfbb/
Note: You are subscribed as archive_jab_org / [email protected]
==^=======================================================

We are going to go round #timesround# times and then refresh the page and do it again.
We will refresh the page every #RepeatInterval# seconds.
The next refresh will be at approx: #TimeFormat(DateAdd("s", RepeatInterval, Now()), "HH:mm:ss")#. stop.

We are going to delete database entries.
We are going to delete files.
We are just checking the numbers, not doing anything.

select FileName from Mail There are #getFiles.RecordCount# files in the database

Starting Surplus Database deletes at #now()#...
DELETE FROM mail WHERE FileName = '#getFiles.Filename#'

Surplus Database Items Remove Done at #now()#.
Went round #loopcounter# times. Deleted #counter# entries.
There were #Badcounter# failed database deletes

starting Mail Folder directory read at #now()#...
There are #maillist.recordcount# files in the 'Mail' folder
finishing Mail Folder directory read at #now()#...

starting Surplus Mail File deletes at #now()#...
select MessageID from Mail where FileName='#CMF##name#'

Surplus Mail File Remove Done at #now()#.
Went round #loopcounter# times. Deleted #counter# mail files.
There were #Badcounter# failed file deletes

Total Run Time in Minutes:Seconds: #RunTimeMin#:#RunTimeSec#

Go back to Utilities

Reply via email to