diff options
| author | Ralph Amissah <ralph.amissah@gmail.com> | 2018-09-14 19:05:01 -0400 | 
|---|---|---|
| committer | Ralph Amissah <ralph.amissah@gmail.com> | 2019-04-10 15:14:15 -0400 | 
| commit | c07183ec37be07656fc58799ce85fe4601dc5c86 (patch) | |
| tree | 0852f219df499d7cf2cf70223378c57af1c1aa72 /org | |
| parent | naming DocReform from SiSU (diff) | |
mess further with parallelism flags
Diffstat (limited to 'org')
| -rw-r--r-- | org/doc_reform.org | 75 | ||||
| -rw-r--r-- | org/output_hub.org | 2 | 
2 files changed, 57 insertions, 20 deletions
| diff --git a/org/doc_reform.org b/org/doc_reform.org index 47a26c7..f55349d 100644 --- a/org/doc_reform.org +++ b/org/doc_reform.org @@ -81,16 +81,32 @@ void main(string[] args) {    <<doc_reform_mixin>>    <<doc_reform_args>>    <<doc_reform_do_selected>> -  if (_manifests.length > 1) {                            // _manifests[0] initialized dummy element -    foreach(manifest; parallel(_manifests[1..$])) { -      if (!empty(manifest.src.filename)) { -        <<doc_reform_each_file_do_scope>> -        <<doc_reform_each_file_do_abstraction>> -        <<doc_reform_each_file_do_debugs_checkdoc>> -        <<doc_reform_each_file_do_selected_output>> -        <<doc_reform_each_file_do_scope_exit>> -      } else { -        <<doc_reform_no_filename_provided>> +  if (_manifests.length > 1                            // _manifests[0] initialized dummy element +  && _opt_action.abstraction) { +    if (_opt_action.parallelise) {                     // note cannot parallelise sqlite shared db +      foreach(manifest; parallel(_manifests[1..$])) { +        if (!empty(manifest.src.filename)) { +          <<doc_reform_each_file_do_scope>> +          <<doc_reform_each_file_do_abstraction>> +          <<doc_reform_each_file_do_debugs_checkdoc>> +          <<doc_reform_each_file_do_selected_output>> +          <<doc_reform_each_file_do_scope_exit>> +        } else { +          <<doc_reform_no_filename_provided>> +        } +      } +    } else { +      foreach(manifest; _manifests[1..$]) { +        writeln("parallelisation off: actions include sqlite shared db"); +        if (!empty(manifest.src.filename)) { +          <<doc_reform_each_file_do_scope>> +          <<doc_reform_each_file_do_abstraction>> +          <<doc_reform_each_file_do_debugs_checkdoc>> +          <<doc_reform_each_file_do_selected_output>> +          <<doc_reform_each_file_do_scope_exit>> +        } else { +          <<doc_reform_no_filename_provided>> +        }        }      }    } @@ -237,7 +253,8 @@ bool[string] opts = [    "html-scroll"        : false,    "manifest"           : false,    "ocn"                : true, -  "pp2"                : false, +  "parallelise"        : true, +  "parallelise-subprocesses" : false,    "quiet"              : false,    "sisupod"            : false,    "source"             : false, @@ -281,7 +298,8 @@ auto helpInfo = getopt(args,    "html-scroll",        "--html-seg process html output",                                           &opts["html-scroll"],    "manifest",           "--manifest process manifest output",                                       &opts["manifest"],    "ocn",                "--ocn object cite numbers (default)",                                      &opts["ocn"], -  "pp2",                "--pp2 nested parallelisation",                                             &opts["pp2"], +  "parallelise",        "--parallelise parallelisation",                                            &opts["parallelise"], +  "parallelise-subprocesses", "--parallelise-subprocesses nested parallelisation",                  &opts["parallelise-subprocesses"],    "quiet",              "--quiet output to terminal",                                               &opts["quiet"],    "sisupod",            "--sisupod sisupod source content bundled",                                 &opts["sisupod"],    "source",             "--source markup source text content",                                      &opts["source"], @@ -412,14 +430,29 @@ struct OptActions {      : false;      return _is;    } -  auto sqlite_insert() { -    return opts["sqlite-insert"]; -  }    auto sqlite_delete() {      return opts["sqlite-delete"];    }    auto sqlite_update() { -    return opts["sqlite-update"]; +    bool _is = ( +      opts["sqlite-update"] +      || opts["sqlite-insert"] +    ) +    ? true +    : false; +    return _is; +  } +  auto sqlite_shared_db_action() { +    bool _is = ( +      opts["sqlite-db-recreate"] +      || opts["sqlite-db-create"] +      || opts["sqlite-delete"] +      || opts["sqlite-insert"] +      || opts["sqlite-update"] +    ) +    ? true +    : false; +    return _is;    }    auto text() {      return opts["text"]; @@ -475,8 +508,13 @@ struct OptActions {    auto sqlite_filename() {      return settings["sqlite-filename"];    } -  auto pp2() { -    return opts["pp2"]; +  auto parallelise() { +    bool _is = ( opts["parallelise"]) ? true : false; +    _is = ( sqlite_shared_db_action ) ? false : true; +    return _is; +  } +  auto parallelise_subprocesses() { +    return opts["parallelise-subprocesses"];    }    auto output_task_scheduler() {      int[] schedule; @@ -514,7 +552,6 @@ struct OptActions {        || source        || sqlite_discrete        || sqlite_delete -      || sqlite_insert        || sqlite_update      )      ? true diff --git a/org/output_hub.org b/org/output_hub.org index 9345458..6cb7f9b 100644 --- a/org/output_hub.org +++ b/org/output_hub.org @@ -37,7 +37,7 @@ template outputHub() {        auto msg = Msg!()(doc_matters);        <<output_scheduled_task>>      } -    if (!(doc_matters.opt.action.pp2)) { +    if (!(doc_matters.opt.action.parallelise_subprocesses)) {        foreach(schedule; doc_matters.opt.action.output_task_scheduler) {          Scheduled!()(schedule, doc_abstraction, doc_matters);        } | 
