thumbor: RESULT_STORAGE = 'thumbor.storages.no_storage' does not work

Trying to avoid storing the result at all. using this : RESULT_STORAGE = 'thumbor.storages.no_storage' Getting this error message : `2016-02-12 23:47:14 tornado.application:ERROR Future exception was never retrieved: Traceback (most recent call last): File “/usr/local/lib/python2.7/site-packages/tornado/gen.py”, line 282, in wrapper yielded = next(result)

File “/usr/local/lib/python2.7/site-packages/thumbor/handlers/init.py”, line 63, in execute_image_operations result = yield gen.maybe_future(self.context.modules.result_storage.get())

File “/usr/local/lib/python2.7/site-packages/tornado/concurrent.py”, line 473, in wrapper future.result()

File “/usr/local/lib/python2.7/site-packages/tornado/concurrent.py”, line 232, in result raise_exc_info(self._exc_info)

File “/usr/local/lib/python2.7/site-packages/tornado/concurrent.py”, line 461, in wrapper result = f(_args, *_kwargs)

TypeError: get() takes exactly 3 arguments (2 given)`

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 18 (14 by maintainers)

Most upvoted comments

Bringing back this issue. @guilhermef I went with your solution RESULT_STORAGE = 'thumbor.result_storages.file_storage' RESULT_STORAGE_EXPIRATION_SECONDS = 0 RESULT_STORAGE_FILE_STORAGE_ROOT_PATH='/tmp' and I can not say that is really working. A few days ago the server ran out of storage because /tmp folder was full with result images. I started digging and found that in `thumbor/thumbor/result_storages/file_storage.py def is_expired(self, path): expire_in_seconds = self.context.config.get(‘RESULT_STORAGE_EXPIRATION_SECONDS’, None)

    if expire_in_seconds is None or expire_in_seconds == 0:
        return False

    timediff = datetime.now() - datetime.fromtimestamp(getmtime(path))
    return timediff.seconds > expire_in_seconds` 

the if RESULT_STORAGE_EXPIRATION_SECONDS set to 0 it will never expere them (I want them to not be stored or atleast deleted after the processing ). which makes sense but, also if say RESULT_STORAGE_EXPIRATION_SECONDS is set to 1 I think it will never delete the images either, because I did not find the part of the code that does the result deletion. Can someone confirm my findings ?

My goal is to completely avoid storing the results, is it possible ?