https://github.com/bear/python-twitter
Revision 58e0d05c71a7716475bcd18a4a082ad434fc8989 authored by David Zülke on 16 February 2015, 15:27:19 UTC, committed by David Zülke on 16 February 2015, 15:27:19 UTC
When running e.g. gunicorn, sometimes the worker processes concurrently check for the tmp dir and then both attempt to create it: ``` [2015-02-16 15:01:46 +0000] [14] [ERROR] Exception in worker process: Traceback (most recent call last): File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 503, in spawn_worker worker.init_process() File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/base.py", line 116, in init_process self.wsgi = self.app.wsgi() File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi self.callable = self.load() File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 65, in load return self.load_wsgiapp() File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp return util.import_app(self.app_uri) File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/util.py", line 355, in import_app __import__(module) File "/app/app.py", line 1, in <module> from tweety import app File "/app/tweety/__init__.py", line 7, in <module> from tweety import routes File "/app/tweety/routes/__init__.py", line 8, in <module> api=twitter.Api(consumer_key=configuration['consumer_key'], consumer_secret=configuration['consumer_secret'], access_token_key=configuration['access_token_key'], access_token_secret=configuration['access_token_secret']) File "/app/.heroku/python/lib/python2.7/site-packages/twitter/api.py", line 160, in __init__ self.SetCache(cache) File "/app/.heroku/python/lib/python2.7/site-packages/twitter/api.py", line 3286, in SetCache self._cache = _FileCache() File "/app/.heroku/python/lib/python2.7/site-packages/twitter/_file_cache.py", line 15, in __init__ self._InitializeRootDirectory(root_directory) File "/app/.heroku/python/lib/python2.7/site-packages/twitter/_file_cache.py", line 78, in _InitializeRootDirectory os.mkdir(root_directory) OSError: [Errno 17] File exists: '/tmp/python.cache_nobody' ``` This change prevents exceptions on existing dirs, but lets all other error cases bubble up.
1 parent 55f9ed8
Tip revision: 58e0d05c71a7716475bcd18a4a082ad434fc8989 authored by David Zülke on 16 February 2015, 15:27:19 UTC
Fix race condition in _InitializeRootDirectory
Fix race condition in _InitializeRootDirectory
Tip revision: 58e0d05
File | Mode | Size |
---|---|---|
doc | ||
examples | ||
testdata | ||
.gitignore | -rw-r--r-- | 335 bytes |
AUTHORS.rst | -rw-r--r-- | 681 bytes |
CHANGES | -rw-r--r-- | 20.2 KB |
COPYING | -rw-r--r-- | 605 bytes |
LICENSE | -rw-r--r-- | 11.1 KB |
MANIFEST.in | -rw-r--r-- | 93 bytes |
Makefile | -rw-r--r-- | 752 bytes |
NOTICE | -rw-r--r-- | 109 bytes |
README.rst | -rw-r--r-- | 5.6 KB |
get_access_token.py | -rwxr-xr-x | 2.7 KB |
python-twitter.spec | -rw-r--r-- | 1.1 KB |
requirements.txt | -rw-r--r-- | 27 bytes |
setup.py | -rwxr-xr-x | 2.0 KB |
twitter_test.py | -rwxr-xr-x | 31.3 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...