I hope this will be an easy question for some of you guys :)<div><br></div><div>I&#39;m trying to set up a simple server which will accept requests over GET to create a thumbnail for an image, and server it back as the response.</div>
<div><br></div><div>The images are stored in two S3 buckets, the originals are in one bucket (store), and the generated thumbnails are stored in another (thumb) as a cache so that the work doesn&#39;t need to be repeated.</div>
<div><br></div><div>Currently I&#39;m checking if the thumbnail already exists in the thumb bucket. I&#39;m redirecting the request if it is or if not I&#39;m downloading the image from store, generating the thumb using PIL, uploading the thumbnail to the thumb bucket and then redirecting the request.</div>
<div><br></div><div>I&#39;m very new to twisted and was wondering if anyone who is more experienced would be able to take a look at what I have so far and let me know if anything is wrong/not ideal/will cause problems etc. or just general style pointers? The more critical the better, as I said I&#39;m very new to this.</div>
<div><br></div><div>I&#39;ve just chucked it up on github: <a href="https://github.com/GP89/thumbs/blob/master/thumb.py">https://github.com/GP89/thumbs/blob/master/thumb.py</a> </div><div><br></div><div>There&#39;s a definite memory leak right now which I believe is PIL, or possibly StringIO objects not being disposed, hence all the random del statements trying to cure it (unsuccessfully). Maybe there&#39;s something I&#39;m doing wrong in twisted that is causing things not to be cleaned up that I&#39;m not aware of as well.</div>
<div><br></div><div>I did try to use deferToThread, rather than my thread pool but the server seemed to block up- I probably should have left it incase it was because I was doing something obviously wrong. I think I&#39;ll make a branch quickly with my deferToThread version.</div>
<div><br></div><div>Thanks very much for any time you can lend!</div><div><br></div><div>Paul</div>