提交 e836d633 编写于 作者: S shenyuhan

add update outdated resource_list_file.json

上级 4819cfd2
...@@ -24,6 +24,7 @@ import requests ...@@ -24,6 +24,7 @@ import requests
import json import json
import yaml import yaml
import random import random
import threading
from random import randint from random import randint
from paddlehub.common import utils, srv_utils from paddlehub.common import utils, srv_utils
...@@ -269,6 +270,32 @@ class HubServer(object): ...@@ -269,6 +270,32 @@ class HubServer(object):
print("Request Hub-Server unsuccessfully.") print("Request Hub-Server unsuccessfully.")
class CacheUpdater(threading.Thread):
def __init__(self, module, version=None):
threading.Thread.__init__(self)
self.module = module
self.version = version
def update_resource_list_file(self, module, version=None):
payload = {'word': module}
if version:
payload['version'] = version
api_url = srv_utils.uri_path(default_hub_server.get_server_url(),
'search')
cache_path = os.path.join(CACHE_HOME, RESOURCE_LIST_FILE)
extra = {
"command": "update_cache",
"mtime": os.stat(cache_path).st_mtime
}
r = srv_utils.hub_request(api_url, payload, extra)
if r.get("update_cache", 0) == 1:
with open(cache_path, 'w+') as fp:
yaml.safe_dump({'resource_list': r['data']}, fp)
def run(self):
self.update_resource_list_file(self.module, self.version)
def server_check(): def server_check():
default_hub_server.server_check() default_hub_server.server_check()
......
...@@ -34,6 +34,7 @@ from paddlehub.common.downloader import default_downloader ...@@ -34,6 +34,7 @@ from paddlehub.common.downloader import default_downloader
from paddlehub.module import module_desc_pb2 from paddlehub.module import module_desc_pb2
from paddlehub.common.dir import CONF_HOME from paddlehub.common.dir import CONF_HOME
from paddlehub.module import check_info_pb2 from paddlehub.module import check_info_pb2
from paddlehub.common.hub_server import CacheUpdater
from paddlehub.module.signature import Signature, create_signature from paddlehub.module.signature import Signature, create_signature
from paddlehub.module.checker import ModuleChecker from paddlehub.module.checker import ModuleChecker
from paddlehub.module.manager import default_module_manager from paddlehub.module.manager import default_module_manager
...@@ -144,6 +145,7 @@ class Module(object): ...@@ -144,6 +145,7 @@ class Module(object):
else: else:
lock.flock(fp_lock, lock.LOCK_UN) lock.flock(fp_lock, lock.LOCK_UN)
raise ValueError("Module initialized parameter is empty") raise ValueError("Module initialized parameter is empty")
CacheUpdater(name, version).start()
def _init_with_name(self, name, version=None): def _init_with_name(self, name, version=None):
log_msg = "Installing %s module" % name log_msg = "Installing %s module" % name
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册