The Scheduler is the control centre of the data staging framework. More...
#include <Scheduler.h>
Public Member Functions | |
Scheduler () | |
~Scheduler () | |
void | SetSlots (int pre_processor=0, int post_processor=0, int delivery=0, int emergency=0, int staged_prepared=0) |
void | AddURLMapping (const Arc::URL &template_url, const Arc::URL &replacement_url, const Arc::URL &access_url=Arc::URL()) |
void | SetURLMapping (const Arc::URLMap &mapping=Arc::URLMap()) |
void | SetPreferredPattern (const std::string &pattern) |
void | SetTransferSharesConf (const TransferSharesConf &share_conf) |
void | SetTransferParameters (const TransferParameters ¶ms) |
void | SetDeliveryServices (const std::vector< Arc::URL > &endpoints) |
void | SetRemoteSizeLimit (unsigned long long int limit) |
void | SetDumpLocation (const std::string &location) |
bool | start (void) |
virtual void | receiveDTR (DTR_ptr dtr) |
bool | cancelDTRs (const std::string &jobid) |
bool | stop () |
The Scheduler is the control centre of the data staging framework.
The Scheduler manages a global list of DTRs and schedules when they should go into the next state or be sent to other processes. The DTR priority is used to decide each DTR's position in a queue.
virtual void DataStaging::Scheduler::receiveDTR | ( | DTR_ptr | dtr | ) | [virtual] |
Callback method implemented from DTRCallback.
This method is called by the generator when it wants to pass a DTR to the scheduler and when other processes send a DTR back to the scheduler after processing.
Implements DataStaging::DTRCallback.
bool DataStaging::Scheduler::start | ( | void | ) |
bool DataStaging::Scheduler::stop | ( | ) |
Tell the Scheduler to shut down all threads and exit.
All active DTRs are cancelled and this method waits until they finish (all DTRs go to CANCELLED state)