rda-python-dsquasar 3.0.8__tar.gz → 3.0.10__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.8/src/rda_python_dsquasar.egg-info → rda_python_dsquasar-3.0.10}/PKG-INFO +1 -1
  2. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/pyproject.toml +1 -1
  3. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/src/rda_python_dsquasar/dsquasar.py +10 -6
  4. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/src/rda_python_dsquasar/dsquasar.usg +6 -3
  5. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10/src/rda_python_dsquasar.egg-info}/PKG-INFO +1 -1
  6. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/LICENSE +0 -0
  7. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/MANIFEST.in +0 -0
  8. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/README.md +0 -0
  9. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/setup.cfg +0 -0
  10. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/src/rda_python_dsquasar/__init__.py +0 -0
  11. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/src/rda_python_dsquasar/ds_quasar.py +0 -0
  12. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/src/rda_python_dsquasar/dstacc.py +0 -0
  13. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/src/rda_python_dsquasar/taccrec.py +0 -0
  14. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/src/rda_python_dsquasar/tacctar.py +0 -0
  15. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/src/rda_python_dsquasar.egg-info/SOURCES.txt +0 -0
  16. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/src/rda_python_dsquasar.egg-info/dependency_links.txt +0 -0
  17. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/src/rda_python_dsquasar.egg-info/entry_points.txt +0 -0
  18. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/src/rda_python_dsquasar.egg-info/requires.txt +0 -0
  19. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/src/rda_python_dsquasar.egg-info/top_level.txt +0 -0
  20. {rda_python_dsquasar-3.0.8 → rda_python_dsquasar-3.0.10}/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.8
3
+ Version: 3.0.10
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.8"
7
+ version = "3.0.10"
8
8
  authors = [
9
9
  { name="Zaihua Ji", email="zji@ucar.edu" },
10
10
  ]
@@ -90,9 +90,10 @@ 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 to avoid over-reserving cpus.
94
- self.MPBLIMIT = 900 # tar file count per batch process for uploading
95
- self.MPBMAX = 8 # maximum number of batch processes for uploading
93
+ # per-process limit to avoid over-reserving cpus. Globus runs only a few
94
+ # concurrent transfers, so extra upload processes just wait on it.
95
+ self.MPBLIMIT = 5000 # tar file count per batch process for uploading
96
+ self.MPBMAX = 4 # maximum number of batch processes for uploading
96
97
  self.MAXRUNTIME = 23*3600 # 23 hours; stop before the 24-hour PBS walltime
97
98
  self.ONEHOUR = 3600 # seconds; time headroom needed to finish before walltime
98
99
  # a repeat submit normally blocks as a duplicate while the batch job is running. if
@@ -106,6 +107,7 @@ class DsQuasar(PgCMD, PgSplit):
106
107
  self.PGBACK = {
107
108
  'workdir' : "{}/{}/quasar_backup".format(self.PGLOG['GDEXWORK'], self.PGLOG['COMMONUSER']),
108
109
  'mproc' : 1,
110
+ 'mgiven' : 0, # set when -m is on the command line, to keep an explicit -m 1
109
111
  'action' : self.CTACTS,
110
112
  'chgdays' : 0,
111
113
  'backflag' : None,
@@ -160,6 +162,7 @@ class DsQuasar(PgCMD, PgSplit):
160
162
  elif option == 'm':
161
163
  self.PGBACK['mproc'] = int(arg)
162
164
  if self.PGBACK['mproc'] < 1: self.pglog(arg +": Multiple Processes(-m) must be > 0", self.LGWNEX)
165
+ self.PGBACK['mgiven'] = 1
163
166
  option = None
164
167
  elif option == 'A':
165
168
  self.PGBACK['action'] = int(arg)
@@ -468,15 +471,16 @@ class DsQuasar(PgCMD, PgSplit):
468
471
  if not pgrec:
469
472
  qoptions = '-l walltime=24:00:00'
470
473
  if acts&self.NBACTS != acts:
471
- if self.PGBACK['mproc'] < 2: self.PGBACK['mproc'] = self.batch_process_count(acts)
474
+ if not self.PGBACK['mgiven']: self.PGBACK['mproc'] = self.batch_process_count(acts)
472
475
  if self.PGBACK['mproc'] > 1:
473
476
  qoptions += ",select=1:ncpus={0}:mem={0}gb".format(self.PGBACK['mproc'])
474
477
  self.set_one_boption('qoptions', qoptions, 1)
475
478
  self.init_dscheck(0, '', "dsquasar", dsid, cact, self.PGBACK['workdir'],
476
479
  self.PGLOG['CURUID'], self.bopts, self.LOGWRN)
477
480
  # 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:
481
+ # instead of recomputing it. an explicit -m N on the command line wins over the
482
+ # reserved count, including -m 1 to force a single process
483
+ if self.PGLOG['DSCHECK'] and not self.PGBACK['mgiven'] and acts&self.NBACTS != acts:
480
484
  pgrec = self.pgget('dscheck', 'qoptions',
481
485
  "cindex = {}".format(self.PGLOG['DSCHECK']['cindex']), self.LGEREX)
482
486
  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.8
3
+ Version: 3.0.10
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