rda-python-dsquasar 3.0.7__tar.gz → 3.0.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. {rda_python_dsquasar-3.0.7/src/rda_python_dsquasar.egg-info → rda_python_dsquasar-3.0.9}/PKG-INFO +1 -1
  2. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/pyproject.toml +1 -1
  3. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/src/rda_python_dsquasar/dsquasar.py +8 -5
  4. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/src/rda_python_dsquasar/dsquasar.usg +6 -3
  5. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9/src/rda_python_dsquasar.egg-info}/PKG-INFO +1 -1
  6. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/LICENSE +0 -0
  7. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/MANIFEST.in +0 -0
  8. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/README.md +0 -0
  9. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/setup.cfg +0 -0
  10. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/src/rda_python_dsquasar/__init__.py +0 -0
  11. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/src/rda_python_dsquasar/ds_quasar.py +0 -0
  12. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/src/rda_python_dsquasar/dstacc.py +0 -0
  13. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/src/rda_python_dsquasar/taccrec.py +0 -0
  14. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/src/rda_python_dsquasar/tacctar.py +0 -0
  15. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/src/rda_python_dsquasar.egg-info/SOURCES.txt +0 -0
  16. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/src/rda_python_dsquasar.egg-info/dependency_links.txt +0 -0
  17. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/src/rda_python_dsquasar.egg-info/entry_points.txt +0 -0
  18. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/src/rda_python_dsquasar.egg-info/requires.txt +0 -0
  19. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/src/rda_python_dsquasar.egg-info/top_level.txt +0 -0
  20. {rda_python_dsquasar-3.0.7 → rda_python_dsquasar-3.0.9}/test/test_dsquasar.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_dsquasar
3
- Version: 3.0.7
3
+ Version: 3.0.9
4
4
  Summary: RDA Python package to backup and recover RDA data archives to and from GLOBUS Quasar backup server
5
5
  Author-email: Zaihua Ji <zji@ucar.edu>
6
6
  Project-URL: Homepage, https://github.com/NCAR/rda-python-dsquasar
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "rda_python_dsquasar"
7
- version = "3.0.7"
7
+ version = "3.0.9"
8
8
  authors = [
9
9
  { name="Zaihua Ji", email="zji@ucar.edu" },
10
10
  ]
@@ -90,9 +90,9 @@ class DsQuasar(PgCMD, PgSplit):
90
90
  self.MPTMAX = 12 # maximum number of batch processes for tarring
91
91
  # uploading (BCKACT) forks one child per BCKSIZE transfer batch (~BCKSIZE/TARSIZE
92
92
  # tar files each), so far fewer parallel units than tar files: use a large
93
- # per-process limit and a low cap to avoid over-reserving cpus.
93
+ # per-process limit to avoid over-reserving cpus.
94
94
  self.MPBLIMIT = 900 # tar file count per batch process for uploading
95
- self.MPBMAX = 4 # maximum number of batch processes for uploading
95
+ self.MPBMAX = 8 # maximum number of batch processes for uploading
96
96
  self.MAXRUNTIME = 23*3600 # 23 hours; stop before the 24-hour PBS walltime
97
97
  self.ONEHOUR = 3600 # seconds; time headroom needed to finish before walltime
98
98
  # a repeat submit normally blocks as a duplicate while the batch job is running. if
@@ -106,6 +106,7 @@ class DsQuasar(PgCMD, PgSplit):
106
106
  self.PGBACK = {
107
107
  'workdir' : "{}/{}/quasar_backup".format(self.PGLOG['GDEXWORK'], self.PGLOG['COMMONUSER']),
108
108
  'mproc' : 1,
109
+ 'mgiven' : 0, # set when -m is on the command line, to keep an explicit -m 1
109
110
  'action' : self.CTACTS,
110
111
  'chgdays' : 0,
111
112
  'backflag' : None,
@@ -160,6 +161,7 @@ class DsQuasar(PgCMD, PgSplit):
160
161
  elif option == 'm':
161
162
  self.PGBACK['mproc'] = int(arg)
162
163
  if self.PGBACK['mproc'] < 1: self.pglog(arg +": Multiple Processes(-m) must be > 0", self.LGWNEX)
164
+ self.PGBACK['mgiven'] = 1
163
165
  option = None
164
166
  elif option == 'A':
165
167
  self.PGBACK['action'] = int(arg)
@@ -468,15 +470,16 @@ class DsQuasar(PgCMD, PgSplit):
468
470
  if not pgrec:
469
471
  qoptions = '-l walltime=24:00:00'
470
472
  if acts&self.NBACTS != acts:
471
- if self.PGBACK['mproc'] < 2: self.PGBACK['mproc'] = self.batch_process_count(acts)
473
+ if not self.PGBACK['mgiven']: self.PGBACK['mproc'] = self.batch_process_count(acts)
472
474
  if self.PGBACK['mproc'] > 1:
473
475
  qoptions += ",select=1:ncpus={0}:mem={0}gb".format(self.PGBACK['mproc'])
474
476
  self.set_one_boption('qoptions', qoptions, 1)
475
477
  self.init_dscheck(0, '', "dsquasar", dsid, cact, self.PGBACK['workdir'],
476
478
  self.PGLOG['CURUID'], self.bopts, self.LOGWRN)
477
479
  # on the PBS batch run, take the process count from the reserved ncpus in qoptions
478
- # instead of recomputing it
479
- if self.PGLOG['DSCHECK'] and self.PGBACK['mproc'] < 2 and acts&self.NBACTS != acts:
480
+ # instead of recomputing it. an explicit -m N on the command line wins over the
481
+ # reserved count, including -m 1 to force a single process
482
+ if self.PGLOG['DSCHECK'] and not self.PGBACK['mgiven'] and acts&self.NBACTS != acts:
480
483
  pgrec = self.pgget('dscheck', 'qoptions',
481
484
  "cindex = {}".format(self.PGLOG['DSCHECK']['cindex']), self.LGEREX)
482
485
  if pgrec and pgrec['qoptions']:
@@ -80,9 +80,12 @@
80
80
  to Y.
81
81
 
82
82
  -m ProcessCount
83
- Number of concurrent child processes. Defaults to 1. In delay mode
84
- the process count travels through the reserved PBS cpus rather than
85
- the command line.
83
+ Number of concurrent child processes. Defaults to 1. When -m is not
84
+ given, a delayed backup run sizes the count from the number of tar
85
+ files it expects to handle and reserves matching PBS cpus, so in delay
86
+ mode the process count normally travels through the reserved cpus
87
+ rather than the command line. An explicit -m overrides that sizing,
88
+ and -m 1 forces a single process.
86
89
 
87
90
  -n Gather and show the available file counts only; no backup actions are
88
91
  performed.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_dsquasar
3
- Version: 3.0.7
3
+ Version: 3.0.9
4
4
  Summary: RDA Python package to backup and recover RDA data archives to and from GLOBUS Quasar backup server
5
5
  Author-email: Zaihua Ji <zji@ucar.edu>
6
6
  Project-URL: Homepage, https://github.com/NCAR/rda-python-dsquasar