benten download_zip_queue
目的
- download_zip指令のqueueを確認します。
- 非同期で実行されるdownload_zipのjobの状態 (queue)を確認します。
Note
本コマンドをユーザーが直接利用する機会はありません。
概要
- download_zip でダウンロード指令非同期実行の指令を発行した後、ダウンロード処理状況(queue)を確認します。
- queueのステータスは返答中のstatusのキーの値を参照して確認します。
- ダウンロードが成功した場合には statusの価が SUCCESSになります。
利用例
- Help
$ benten.py download_zip_queue -h usage: benten download_zip_queue [-h] uuid positional arguments: uuid uuid for download optional arguments: -h, --help show this help message and exit
- donload_zip実行に queue確認
$ benten.py download_zip -r "/SPring-8/BL14B2/test/test" ### benten download_zip ### [Repository::authorize] access_token = 579773811dc7401ea1307c99d2a88a82 ==> response { "status":"STARTED", "uuid":"59eb779c-2283-4e3b-9b26-9eb0e7905254" } $ benten download_zip_queue "59eb779c-2283-4e3b-9b26-9eb0e7905254" # --> download_zipコマンドで取得した uuid値を引数に設定する ### benten download_zip_queue ### ==> response { "file_list":[ { "size":44, "name":"/SPring-8/BL14B2/test/test.json", "time":"2018-08-15 18:14:05", "hash":"4cdb2c555c08a9d787a2e61103dff0f8", "uuid_name":"9e28d9d3-f3e9-441b-b9f2-152e68c310a9" }, { "size":425, "name":"/SPring-8/BL14B2/test/test.system.json", "time":"2019-03-09 21:18:35", "hash":"49b71db137ce7da3b8ce26f62f643722", "uuid_name":"933c7d86-94f7-448f-8f37-7199d64acca9" } ], "status":"SUCCESS", "uuid":"59eb779c-2283-4e3b-9b26-9eb0e7905254" }
Pythonモジュールとの対応
- benten_client.rest_download.Queueを利用
- 利用例 (example/benten_download_zip_queue.pyから)
#!/usr/bin/env python ''' example: download_zip_queue usage: python benten_download_zip_queue.py [uuid] ''' import benten_client import time import argparse from logging import getLogger, StreamHandler, DEBUG logger = getLogger(__name__) handler = StreamHandler() handler.setLevel(DEBUG) logger.setLevel(DEBUG) logger.addHandler(handler) logger.propagate = False # ... parameters parser = argparse.ArgumentParser(description="example: download_zip_queue") parser.add_argument("uuid", help="uuid for download") args = parser.parse_args() uuid_file = args.uuid repo = benten_client.Repository() logger.debug("# set access token") repo.authorize(benten_client.access_token()) logger.debug("# download_zip_queue") ret_dict = repo.download.queue.get(uuid_file) benten_client.log("==> response") benten_client.out_json(ret_dict)