// Copyright (c) 2008 Ole Weidner // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include #include "saga-job.hpp" /////////////////////////////////////////////////////////////////////////////// static int argc_; void printUsage() { std::cout << "Usage: saga-job " << std::endl; std::cout << "" << std::endl; std::cout << " Commands: Options:\n" << std::endl; std::cout << " run " << std::endl; std::cout << " submit " << std::endl; std::cout << "" << std::endl; std::cout << " state " << std::endl; std::cout << " suspend " << std::endl; std::cout << " resume " << std::endl; std::cout << "" << std::endl; std::cout << "" << std::endl; std::cout << " (rm url: scheme://host:port/job/service) " << std::endl; std::cout << "" << std::endl; std::cout << "This is a SAGA-based tool for job submission & management." << std::endl; std::cout << "For additional information, see http://saga.cct.lsu.edu." << std::endl; } void ExitIfArgcLessThan(int n) { if (argc_ < n) { printUsage(); exit(-1); } } /////////////////////////////////////////////////////////////////////////////// int main (int argc, char* argv[]) { argc_ = argc; ExitIfArgcLessThan(2); if(!strcmp(argv[1], "run")) { ExitIfArgcLessThan(5); job_run(std::string(argv[2]),std::string(argv[3]),std::string(argv[4])); } else if(!strcmp(argv[1], "submit")) { ExitIfArgcLessThan(5); job_submit(std::string(argv[2]),std::string(argv[3]),std::string(argv[4])); } else if(!strcmp(argv[1], "state")) { ExitIfArgcLessThan(3); job_state(std::string(argv[2])); } else if(!strcmp(argv[1], "suspend")) { ExitIfArgcLessThan(3); job_suspend(std::string(argv[2])); } else if(!strcmp(argv[1], "resume")) { ExitIfArgcLessThan(3); job_resume(std::string(argv[2])); } else if(!strcmp(argv[1], "run_tests")) { ExitIfArgcLessThan(3); run_test(std::string(argv[2])); } else { std::cout << "Unknown command: " << std::string(argv[1]) << std::endl; printUsage(); exit(-1); } return 0; }