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モジュールとの対応

#!/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)