10484: Report current client count.
[arvados.git] / services / arv-web / arv-web.py
index e7315585a02d407e33ee25b2317a7206c1aeb51d..5a95e27b93b26789d10d93f4dadeac849fcfaa9b 100755 (executable)
@@ -5,8 +5,9 @@
 # See http://doc.arvados.org/user/topics/arv-web.html
 
 import arvados
+from arvados.safeapi import ThreadSafeApiCache
 import subprocess
-from arvados_fuse import Operations, SafeApi, CollectionDirectory
+from arvados_fuse import Operations, CollectionDirectory
 import tempfile
 import os
 import llfuse
@@ -32,7 +33,7 @@ class ArvWeb(object):
         self.override_docker_image = docker_image
         self.port = port
         self.evqueue = Queue.Queue()
-        self.api = SafeApi(arvados.config)
+        self.api = ThreadSafeApiCache(arvados.config.settings())
 
         if arvados.util.group_uuid_pattern.match(project) is None:
             raise arvados.errors.ArgumentError("Project uuid is not valid")
@@ -82,7 +83,7 @@ class ArvWeb(object):
     def run_fuse_mount(self):
         self.mountdir = tempfile.mkdtemp()
 
-        self.operations = Operations(os.getuid(), os.getgid(), "utf-8")
+        self.operations = Operations(os.getuid(), os.getgid(), self.api, "utf-8")
         self.cdir = CollectionDirectory(llfuse.ROOT_INODE, self.operations.inodes, self.api, 2, self.collection)
         self.operations.inodes.add_entry(self.cdir)