We have a small issue in one of our products, which will be fixed in the next release. When you login, it generates an “overview” chart (4 of them actually), and writes them to disk, and displays them to the user. The problem comes when they don’t clean up. Because the code first checks if the file exists before writing it, it scans the directory. This would normally be okay, on a physical server, with fast disks. However, these are virtual boxes, with “fake” disks. I/O is terrible on virtual servers, so when there are about 6,000 images in that folder, the box dies a slow and painful death every time somebody logs in. So I had to figure an easy way around it. Linux would have made this task a one-liner.
This code finds all files with a jpg extension, that was last accessed over a minute ago, then deletes it. Windows on the other hand doesn’t have a nice shell command like this, so I got stuck with vbs, and WMI. I ended up with the following script:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
So windows takes my one-liner linux code, and makes it 14 lines (not counting blank lines). I’ve now got this setup to run once a minute, and it cleans up the older images in that folder.