LSSTApplications  11.0-13-gbb96280,12.1+18,12.1+7,12.1-1-g14f38d3+72,12.1-1-g16c0db7+5,12.1-1-g5961e7a+84,12.1-1-ge22e12b+23,12.1-11-g06625e2+4,12.1-11-g0d7f63b+4,12.1-19-gd507bfc,12.1-2-g7dda0ab+38,12.1-2-gc0bc6ab+81,12.1-21-g6ffe579+2,12.1-21-gbdb6c2a+4,12.1-24-g941c398+5,12.1-3-g57f6835+7,12.1-3-gf0736f3,12.1-37-g3ddd237,12.1-4-gf46015e+5,12.1-5-g06c326c+20,12.1-5-g648ee80+3,12.1-5-gc2189d7+4,12.1-6-ga608fc0+1,12.1-7-g3349e2a+5,12.1-7-gfd75620+9,12.1-9-g577b946+5,12.1-9-gc4df26a+10
LSSTDataManagementBasePackage
WorkflowConfig.py
Go to the documentation of this file.
1 from __future__ import absolute_import
2 import lsst.pex.config as pexConfig
3 from . import CondorWorkflowConfig as condor
4 from . import FakeTypeMap as fake
5 from . import DatabaseConfig as data
6 from . import PlatformConfig as plat
7 from . import MonitorConfig as mon
8 from . import TaskConfig as task
9 
10 typemap = {"condor": condor.CondorWorkflowConfig,
11  "pegasus": condor.CondorWorkflowConfig }
12 
13 #
14 # definition of a workflow
15 
16 
17 class WorkflowConfig(pexConfig.Config):
18  # name of this workflow
19  shortName = pexConfig.Field("name of this workflow", str)
20 
21  # platform configuration file
22  platform = pexConfig.ConfigField("platform configuration file", plat.PlatformConfig)
23 
24  # plugin type
25  configurationType = pexConfig.Field("plugin type", str)
26 
27  # plugin class name
28  configurationClass = pexConfig.Field("orca plugin class", str)
29 
30  # configuration
31  configuration = pexConfig.ConfigChoiceField("configuration", typemap)
32 
33  # this usually isn't used, but is here because the design calls for this
34  # possibility.
35  # database name
36  database = pexConfig.ConfigChoiceField("database", fake.FakeTypeMap(data.DatabaseConfig))
37 
38  # task
39  task = pexConfig.ConfigChoiceField("task", fake.FakeTypeMap(task.TaskConfig))
40 
41  # monitor configuration
42  monitor = pexConfig.ConfigField("monitor configuration", mon.MonitorConfig)