def rs(): config = mc.Config() config.get_executors() vos_client = Client(vospace_certfile=config.proxy_fqn) builder = GemProcBuilder(config) storage_name = builder.build(sys.argv[1]) store_transfer = tc.VoFitsTransfer(vos_client) rc.run_single( config=config, storage_name=storage_name, command_name='gemProc2caom2', meta_visitors=[], data_visitors=[provenance_augmentation, preview_augmentation], store_transfer=store_transfer, )
def test_run_single(do_mock, test_config): _clean_up_log_files(test_config) progress_file = os.path.join(tc.TEST_DATA_DIR, 'progress.txt') test_config.features.expects_retry = False test_config.progress_fqn = progress_file test_config.state_fqn = STATE_FILE test_config.interval = 5 test_state = mc.State(test_config.state_fqn) test_state.save_state('gemini_timestamp', datetime.utcnow()) do_mock.return_value = -1 test_url = 'http://localhost/test_url.fits' test_storage_name = mc.StorageName(url=test_url) test_result = rc.run_single( test_config, test_storage_name, 'test_command', meta_visitors=None, data_visitors=None, ) assert test_result is not None, 'expect a result' assert test_result == -1, 'wrong result' assert do_mock.called, 'do mock not called' assert do_mock.call_count == 1, do_mock.call_count args, kwargs = do_mock.call_args test_storage = args[0] assert isinstance(test_storage, mc.StorageName), type(test_storage) assert test_storage.obs_id is None, 'wrong obs id' assert test_storage.url == test_url, test_storage.url
def _run_single(): """expects a single file name on the command line""" builder = nbc.EntryBuilder(storage_name.VlassName) vlass_name = builder.build(sys.argv[1]) return rc.run_single( storage_name=vlass_name, meta_visitors=META_VISITORS, data_visitors=DATA_VISITORS, store_transfer=tc.HttpTransfer(), )
def _run_single(): """expects a single file name on the command line""" config = mc.Config() config.get_executors() if config.features.use_file_names: vlass_name = sn.VlassName(file_name=sys.argv[1], entry=sys.argv[1]) elif config.features.use_urls: vlass_name = sn.VlassName(url=sys.argv[1], entry=sys.argv[1]) else: vlass_name = sn.VlassName(obs_id=sys.argv[1], entry=sys.argv[1]) return rc.run_single(config=config, storage_name=vlass_name, command_name=sn.APPLICATION, meta_visitors=META_VISITORS, data_visitors=DATA_VISITORS, store_transfer=tc.HttpTransfer())
def _run_single(): """ Run the processing for a single entry. :return 0 if successful, -1 if there's any sort of failure. Return status is used by airflow for task instance management and reporting. """ config = mc.Config() config.get_executors() config.resource_id = 'ivo://cadc.nrc.ca/sc2repo' if config.features.run_in_airflow: temp = tempfile.NamedTemporaryFile() mc.write_to_file(temp.name, sys.argv[2]) config.proxy = temp.name else: config.proxy = sys.argv[2] config.stream = 'default' if config.features.use_file_names: storage_name = gem_name.GemName(file_name=sys.argv[1]) else: raise mc.CadcException('No code to handle running GEM by obs id.') external_metadata.init_global(config=config) meta_visitors = _define_meta_visitors(config) return rc.run_single(config, storage_name, main_app.APPLICATION, meta_visitors, DATA_VISITORS)