エントリをmongodbに保存してIDを取得しようとしています。次に、このエントリをスレッドで見つけたいと思います。でも、できないこともあります。
import pymongo
import bson
import threading
connection = pymongo.Connection("localhost", 27017)
db = connection.test
def set_cache(db):
cache_id = db.test_collection.save({'test': 'some string'})
return cache_id
def get_cache(db, cache_id):
entry = db.test_collection.find_one({'_id' : bson.objectid.ObjectId(cache_id)})
if not entry:
print('No entry for %s' % cache_id)
return entry
i = 0
while 1:
i += 1
cache_id = set_cache(db)
t = threading.Thread(target=get_cache, args=(db, cache_id))
t.start()
t.join()
if i > 10000:
break
そのため、「~のエントリがありません」と表示されることがあります。しかし、このエントリはmongoで見ることができます。python2.6モンゴ2.0.6