提交 d184cb57 编写于 作者: W wuzewu

Fix bug

上级 2b77db44
...@@ -32,7 +32,7 @@ import paddle.fluid as fluid ...@@ -32,7 +32,7 @@ import paddle.fluid as fluid
from paddlehub.common import utils from paddlehub.common import utils
from paddlehub.common import paddle_helper from paddlehub.common import paddle_helper
from paddlehub.common.dir import CONF_HOME from paddlehub.common.dir import CACHE_HOME
from paddlehub.common.lock import lock from paddlehub.common.lock import lock
from paddlehub.common.logger import logger from paddlehub.common.logger import logger
from paddlehub.common.hub_server import CacheUpdater from paddlehub.common.hub_server import CacheUpdater
...@@ -59,7 +59,7 @@ HUB_PACKAGE_SUFFIX = "phm" ...@@ -59,7 +59,7 @@ HUB_PACKAGE_SUFFIX = "phm"
def create_module(directory, name, author, email, module_type, summary, def create_module(directory, name, author, email, module_type, summary,
version): version):
save_file_name = "{}.{}".format(name, HUB_PACKAGE_SUFFIX) save_file_name = "{}-{}.{}".format(name, version, HUB_PACKAGE_SUFFIX)
# record module info and serialize # record module info and serialize
desc = module_desc_pb2.ModuleDesc() desc = module_desc_pb2.ModuleDesc()
...@@ -105,8 +105,6 @@ def create_module(directory, name, author, email, module_type, summary, ...@@ -105,8 +105,6 @@ def create_module(directory, name, author, email, module_type, summary,
class Module(object): class Module(object):
def __new__(cls, name=None, directory=None, module_dir=None, version=None): def __new__(cls, name=None, directory=None, module_dir=None, version=None):
fp_lock = open(os.path.join(CONF_HOME, 'config.json'))
lock.flock(fp_lock, lock.LOCK_EX)
module = None module = None
if cls.__name__ == "Module": if cls.__name__ == "Module":
...@@ -128,8 +126,6 @@ class Module(object): ...@@ -128,8 +126,6 @@ class Module(object):
if not module: if not module:
module = object.__new__(cls) module = object.__new__(cls)
lock.flock(fp_lock, lock.LOCK_UN)
CacheUpdater(name, version).start() CacheUpdater(name, version).start()
return module return module
...@@ -162,6 +158,8 @@ class Module(object): ...@@ -162,6 +158,8 @@ class Module(object):
@classmethod @classmethod
def init_with_name(cls, name, version=None): def init_with_name(cls, name, version=None):
fp_lock = open(os.path.join(CACHE_HOME, name), "a")
lock.flock(fp_lock, lock.LOCK_EX)
log_msg = "Installing %s module" % name log_msg = "Installing %s module" % name
if version: if version:
log_msg += "-%s" % version log_msg += "-%s" % version
...@@ -174,6 +172,7 @@ class Module(object): ...@@ -174,6 +172,7 @@ class Module(object):
raise RuntimeError(tips) raise RuntimeError(tips)
logger.info(tips) logger.info(tips)
lock.flock(fp_lock, lock.LOCK_UN)
return cls.init_with_directory(directory=module_dir[0]) return cls.init_with_directory(directory=module_dir[0])
@classmethod @classmethod
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册