Guest User

Untitled

a guest
Oct 17th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. package org.broadinstitute.picard.workflows.sfrazer
  2.  
  3. import java.io.File;
  4. import org.broadinstitute.zamboni.server.util.log.Log
  5. import org.broadinstitute.zamboni.server.util.ZamboniDef._
  6. import org.broadinstitute.zamboni.server.workflowexecution.{InternalJob, StepRunner, ZamboniJob}
  7. import org.broadinstitute.zamboni.server.request.{Request, RequestTrait}
  8. import org.broadinstitute.zamboni.server.db.entity.{Status, StepJob}
  9. import org.broadinstitute.zamboni.server.workflowcreation.{CompoundStepBuilder, CreateWorkflowValue, WorkflowCreator}
  10. import org.broadinstitute.zamboni.server.batchsystem.BatchSystemFactory
  11. import org.broadinstitute.zamboni.server.property._
  12.  
  13. class FHWorkflow extends WorkflowCreator {
  14.  
  15. def createWorkflow(request: RequestTrait) = {
  16. var first = new FHFirst( "first" )
  17. var second = new FHSecond( "second" )
  18. second dependsOn first
  19. addRootSteps(first)
  20. new CreateWorkflowValue(workflowName = "FHWorkflow", logDirectory = "/home/unix/sfrazer/zamboni-data")
  21. }
  22.  
  23. }
  24.  
  25. protected trait FirehoseBaseTask {
  26.  
  27. var outputDir: String
  28. var taskDir: String
  29. var stepName: String
  30. def command: List[String]
  31.  
  32. def scheduleStep: List[ZamboniJob] = {
  33. val moduleDir = new File(taskDir, stepName).getAbsolutePath()
  34. val stdoutPath = new File(moduleDir, "stdout").getAbsolutePath()
  35. val stderrPath = new File(moduleDir, "stderr").getAbsolutePath()
  36. val cmd = (command.slice(0,1))(0)
  37. val args = command.slice(1, command.size)
  38.  
  39. val job = BatchSystemFactory.defaultBatchSystem.newJob(
  40. command="python",
  41. args=List("/home/unix/sfrazer/script.py", "param")
  42. /*workingDirectory=moduleDir,
  43. outputPath=stdoutPath,
  44. errorPath=stderrPath*/
  45. )
  46.  
  47. List(job)
  48. }
  49.  
  50. }
  51.  
  52. protected class FHFirst (var stepName:String)
  53. extends StepRunner(stepName) with FirehoseBaseTask {
  54.  
  55. var outputDir: String = _
  56. var taskDir: String = _
  57.  
  58. def command: List[String] = {
  59. List("python", "script.py", stepName, "param2")
  60. }
  61.  
  62. }
  63.  
  64. protected class FHSecond (var stepName:String)
  65. extends StepRunner(stepName) with FirehoseBaseTask {
  66.  
  67. var outputDir: String = _
  68. var taskDir: String = _
  69.  
  70. def command: List[String] = {
  71. List("python", "script.py", stepName, "param2")
  72. }
  73.  
  74. }
Add Comment
Please, Sign In to add comment