<|start_filename|>examples/panda_queueconfig_cloud.json<|end_filename|>
{
	"GOOGLE_TEMPLATE": {
		"prodSourceLabel": "managed",
		"nQueueLimitWorker": 15,
        "nQueueLimitWorker": 1,
		"runMode": "slave",
		"mapType": "NoJob",
		"preparator": {
			"name": "DummyPreparator",
			"module": "pandaharvester.harvesterpreparator.dummy_preparator"
		},
		"submitter": {
			"name": "GoogleSubmitter",
			"module": "pandaharvester.harvestersubmitter.cloud_google_submitter",
			"logBaseURL": "https://aipanda011.cern.ch:25443/cache/",
                        "ram_per_core": 4,
                        "disk_size": 100,
			"preemptible": true
		},
		"throttler": {
			"name": "SimpleThrottler",
			"module": "pandaharvester.harvesterthrottler.simple_throttler"
		},
		"workerMaker": {
			"name": "SimpleWorkerMaker",
			"module": "pandaharvester.harvesterworkermaker.simple_worker_maker"
		},
		"messenger": {
			"name": "SharedFileMessenger",
			"module": "pandaharvester.harvestermessenger.shared_file_messenger",
			"accessPoint": "/data/atlpan/harvester_worker_dir/${workerID}"
		},
		"stager": {
			"name": "DummyStager",
			"module": "pandaharvester.harvesterstager.dummy_stager"
		},
		"monitor": {
			"name": "GoogleMonitor",
			"module": "pandaharvester.harvestermonitor.cloud_google_monitor"
		},
		"sweeper": {
			"name": "GoogleSweeper",
			"module": "pandaharvester.harvestersweeper.cloud_google_sweeper"
		}
	}
}


<|start_filename|>examples/panda_queueconfig_hpc.json<|end_filename|>
{
"BNL_PROD_5": {
	       "prodSourceLabel":"managed",
	       "nQueueLimitJob":1,
	       "nQueueLimitWorker":1,
	       "maxWorkers":1,	
	       "mapType":"OneToOne",
	       "zipPerMB":1024,
	       "maxSubmissionAttempts":3,
	"preparator":{
			"name":"RseDirectPreparator",
			"module":"pandaharvester.harvesterpreparator.rse_direct_preparator",
			"basePath":"/global/homes/t/tmaeno/rucio"
			},
	"submitter":{
			"name":"SlurmSubmitter",
			"module":"pandaharvester.harvestersubmitter.slurm_submitter",
			"templateFile":"/global/homes/t/tmaeno/panda-harvester/examples/slurm_submit.sh",
			"nCorePerNode": 24,
			"nCore": 24
			},
	"workerMaker":{
			"name":"SimpleWorkerMaker",
			"module":"pandaharvester.harvesterworkermaker.simple_worker_maker"
			},
	"messenger":{
			"name":"SharedFileMessenger",
			"module":"pandaharvester.harvestermessenger.shared_file_messenger",
			"accessPoint":"/global/homes/t/tmaeno/workdir/panda/${workerID}"
			},
	"stager":{
			"name":"RucioStager",
			"module":"pandaharvester.harvesterstager.rucio_stager",
			"srcRSE":"NERSC_DATADISK",
			"dstRSE_ES":"BNL-OSG2_SCRATCHDISK",
			"dstRSE_Out":null,
			"dstRSE_Log":null,
			"objStoreID_ES":117,
			"srcBasePath":"/global/homes/t/tmaeno/rucio",
			"zipDir":"${SRCDIR}"
			},
	"monitor":{
			"name":"SlurmMonitor",
			"module":"pandaharvester.harvestermonitor.slurm_monitor"
			},
	"sweeper":{
			"name":"DummySweeper",
			"module":"pandaharvester.harvestersweeper.dummy_sweeper"
			}
},
"CERN_PROD_1":{
	       "prodSourceLabel":"managed",
	       "nQueueLimitJob":3,
	       "nQueueLimitWorker":5,
	       "maxWorkers":5,	
	       "mapType":"OneToOne",
	       "useJobLateBinding":true,
	       "maxSubmissionAttempts":3,
	"preparator":{
			"name":"GoPreparator",
			"module":"pandaharvester.harvesterpreparator.go_preparator",
			"srcEndpoint":"nersc#dtn",
			"dstEndpoint":"go#ep1"
			},
	"submitter":{
			"name":"SlurmSubmitter",
			"module":"pandaharvester.harvestersubmitter.slurm_submitter",
			"nCorePerNode": 24,
			"nCore": 48
		    },
	"workerMaker":{
			"name":"SimpleWorkerMaker",
			"module":"pandaharvester.harvesterworkermaker.simple_worker_maker"
			},
	"messenger":{
			"name":"SharedFileMessenger",
			"module":"pandaharvester.harvestermessenger.shared_file_messenger",
			"accessPoint":"/tmp/tmaeno/workdir/panda/${batchID}"
			},
	"stager":{
			"name":"FtsStager",
			"module":"pandaharvester.harvesterstager.fts_stager",
			"ftsServer":"https://fts3-pilot.cern.ch:8446",
			"ftsLookupTimeout":180,
			"ca_cert":"/etc/grid-security/certificates/CERN-Root-2.pem",
			"srcEndpointOut":"gsiftp://dtn01.nersc.gov/",
			"dstEndpointOut":"srm://dcsrm.usatlas.bnl.gov:8443/srm/managerv2?SFN=/pnfs/usatlas.bnl.gov/BNLT0D1/rucio/",
			"srcEndpointES":"gsiftp://dtn01.nersc.gov/",
			"dstEndpointES":"srm://dcsrm.usatlas.bnl.gov:8443/srm/managerv2?SFN=/???",
			"esObjStoreID":117,
			"srcEndpointLog":null,
			"zipDir":"${SRCDIR}"
			},
	"monitor":{
			"name":"DummyMonitor",
			"module":"pandaharvester.harvestermonitor.dummy_monitor"
			},
	"sweeper":{
			"name":"DummySweeper",
			"module":"pandaharvester.harvestersweeper.dummy_sweeper"
			}
	}
}

<|start_filename|>examples/panda_queueconfig_grid.json<|end_filename|>
{
	"PULL_MODEL": {
		"prodSourceLabel": "managed",
		"nQueueLimitWorker": 0,
		"runMode": "slave",
		"mapType": "NoJob",
		"preparator": {
			"name": "DummyPreparator",
			"module": "pandaharvester.harvesterpreparator.dummy_preparator"
		},
		"submitter": {
			"name": "DummySubmitter",
			"module": "pandaharvester.harvestersubmitter.dummy_submitter",
			"nCorePerNode": 24,
			"nCore": 24,
			"computingElements": ["ce1", "ce2"]
		},
		"throttler": {
			"name": "SimpleThrottler",
			"module": "pandaharvester.harvesterthrottler.simple_throttler",
			"rulesForMissed": [{"level": "pq", "timeWindow": 10, "maxMissed": 10},
				               {"level": "ce", "timeWindow": 10, "maxMissed": 5}]
		},
		"workerMaker": {
			"name": "SimpleWorkerMaker",
			"module": "pandaharvester.harvesterworkermaker.simple_worker_maker"
		},
		"messenger": {
			"name": "SharedFileMessenger",
			"module": "pandaharvester.harvestermessenger.shared_file_messenger",
			"accessPoint": "/global/homes/t/tmaeno/workdir/panda/${workerID}"
		},
		"stager": {
			"name": "DummyStager",
			"module": "pandaharvester.harvesterstager.dummy_stager"
		},
		"monitor": {
			"name": "DummyMonitor",
			"module": "pandaharvester.harvestermonitor.dummy_monitor"
		},
		"sweeper": {
			"name": "DummySweeper",
			"module": "pandaharvester.harvestersweeper.dummy_sweeper"
		}
	},
	"PUSH_MODEL": {
		"prodSourceLabel": "managed",
		"nQueueLimitJob": 3,
		"nQueueLimitWorker": 5,
		"maxWorkers": 5,
		"mapType": "OneToOne",
		"preparator": {
			"name": "DummyPreparator",
			"module": "pandaharvester.harvesterpreparator.dummy_preparator"
		},
		"submitter": {
			"name": "DummySubmitter",
			"module": "pandaharvester.harvestersubmitter.dummy_submitter",
			"nCorePerNode": 24,
			"nCore": 24
		},
		"workerMaker": {
			"name": "SimpleWorkerMaker",
			"module": "pandaharvester.harvesterworkermaker.simple_worker_maker"
		},
		"messenger": {
			"name": "SharedFileMessenger",
			"module": "pandaharvester.harvestermessenger.shared_file_messenger",
			"accessPoint": "/global/homes/t/tmaeno/workdir/panda/${workerID}"
		},
		"stager": {
			"name": "DummyStager",
			"module": "pandaharvester.harvesterstager.dummy_stager"
		},
		"monitor": {
			"name": "DummyMonitor",
			"module": "pandaharvester.harvestermonitor.dummy_monitor"
		},
		"sweeper": {
			"name": "DummySweeper",
			"module": "pandaharvester.harvestersweeper.dummy_sweeper"
		}
	},
	"PUSH_MODEL_WITH_TRUE_PILOT": {
		"prodSourceLabel": "managed",
		"nQueueLimitJob": 3,
		"nQueueLimitWorker": 5,
		"maxWorkers": 5,
		"mapType": "OneToOne",
		"noHeartbeat": "running,transferring,finished,failed",
		"preparator": {
			"name": "DummyPreparator",
			"module": "pandaharvester.harvesterpreparator.dummy_preparator"
		},
		"submitter": {
			"name": "DummySubmitter",
			"module": "pandaharvester.harvestersubmitter.dummy_submitter",
			"nCorePerNode": 24,
			"nCore": 24
		},
		"workerMaker": {
			"name": "SimpleWorkerMaker",
			"module": "pandaharvester.harvesterworkermaker.simple_worker_maker"
		},
		"messenger": {
			"name": "SharedFileMessenger",
			"module": "pandaharvester.harvestermessenger.shared_file_messenger",
			"jobSpecFileFormat": "cgi",
			"accessPoint": "/global/homes/t/tmaeno/workdir/panda/${workerID}"
		},
		"stager": {
			"name": "DummyStager",
			"module": "pandaharvester.harvesterstager.dummy_stager"
		},
		"monitor": {
			"name": "DummyMonitor",
			"module": "pandaharvester.harvestermonitor.dummy_monitor"
		},
		"sweeper": {
			"name": "DummySweeper",
			"module": "pandaharvester.harvestersweeper.dummy_sweeper"
		}
	}
}

<|start_filename|>examples/panda_queueconfig_with_tmpl.json<|end_filename|>
{
	"TEMPLATE_QUEUE": {
		"prodSourceLabel": "managed",
		"nQueueLimitJob": 3,
		"nQueueLimitWorker": 5,
		"maxWorkers": 5,
		"preparator": {
			"name": "DummyPreparator",
			"module": "pandaharvester.harvesterpreparator.dummy_preparator"
		},
		"submitter": {
			"name": "DummySingletonSubmitter",
			"module": "pandaharvester.harvestersubmitter.dummy_singleton_submitter",
			"logBaseURL": "/tmp/tmaeno/logs"
                },
                "throttler": {
                        "name": "SimpleThrottler",
                        "module": "pandaharvester.harvesterthrottler.simple_throttler",
                        "rulesForMissed": [{"level": "pq", "timeWindow": 10, "maxMissed": 10},
                                           {"level": "ce", "timeWindow": 10, "maxMissed": 5}]
		},
		"workerMaker": {
			"name": "SimpleWorkerMaker",
			"module": "pandaharvester.harvesterworkermaker.simple_worker_maker"
		},
		"messenger": {
			"name": "SharedFileMessenger",
			"module": "pandaharvester.harvestermessenger.shared_file_messenger",
			"accessPoint": "/tmp/tmaeno/workdir/panda/${workerID}"
		},
		"stager": {
			"name": "DummyStager",
			"module": "pandaharvester.harvesterstager.dummy_stager"
		},
		"monitor": {
			"name": "DummyMonitor",
			"module": "pandaharvester.harvestermonitor.dummy_monitor"
		},
		"sweeper": {
			"name": "DummySweeper",
			"module": "pandaharvester.harvestersweeper.dummy_sweeper"
		}
	},
	"PULL_MODEL_1": {
		"templateQueueName": "TEMPLATE_QUEUE",
		"mapType": "NoJob"
	},
	"PULL_MODEL_2": {
		"templateQueueName": "TEMPLATE_QUEUE",
		"mapType": "NoJob"
	},
	"PUSH_MODEL_1": {
		"templateQueueName": "TEMPLATE_QUEUE",
		"mapType": "OneToOne"
	},
	"PUSH_MODEL_2": {
		"templateQueueName": "TEMPLATE_QUEUE",
		"nQueueLimitJob": 5,
		"nQueueLimitWorker": 2,
		"maxWorkers": 2,
		"maxNewWorkersPerCycle": 1,
		"mapType": "ManyToOne",
		"allowJobMixture": true
	},
	"PUSH_MODEL_WITH_TRUE_PILOT_AND_STAGER": {
		"templateQueueName": "TEMPLATE_QUEUE",
		"mapType": "OneToOne",
		"truePilot": true,
		"stager":{
			"name":"RucioStagerHPC",
			"module":"pandaharvester.harvesterstager.rucio_stager_hpc",
			"srcRSE":"NERSC_DATADISK",
			"dstRSE_ES":"BNL-OSG2_SCRATCHDISK",
			"dstRSE_Out":"BNL-OSG2_SCRATCHDISK",
			"dstRSE_Log":null,
			"objStoreID_ES":117,
			"srcBasePath":"/global/homes/t/tmaeno/rucio",
			"zipDir":"${SRCDIR}"
		}
	}
}
