Skip to content

Commit

Permalink
copy jar and run jar in one job
Browse files Browse the repository at this point in the history
  • Loading branch information
feroshjacob committed Sep 11, 2018
1 parent cb18bdf commit f9555bc
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 6 deletions.
6 changes: 4 additions & 2 deletions src/main/resources/templates/run-jar.ssp
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,12 @@
<%@ val location:String = evalObject.evaluateVariable(javaJob.javaJob.jarLocation,localVariables).toString%>
<%@ val mainClass:String = evalObject.evaluateVariable(javaJob.javaJob.mainClass,localVariables).toString%>
<%@ val bucket:String = location.substring(5).split("/").head %>
<%@ val objectName:String = location.substring(5).split("/").last %>
<%@ val objectName:String = location.substring(5).split("/").drop(1).mkString("/") %>
<%@ var name: String%>
<%@ var command1:String = s"gsutil -m cp -r ${location} ."%>
<%@ var command2:String = s"java -cp ${objectName} ${mainClass} ${ javaJob.javaJob.args.get.map(f=> evalObject.evaluateVariable(f,localVariables )).mkString(" ")}"%>

${name} = bash_operator.BashOperator(
task_id='run_jar_${name}',
bash_command='java -cp /tmp/${objectName} ${mainClass} ${ javaJob.javaJob.args.get.map(f=> evalObject.evaluateVariable(f,localVariables )).mkString(" ")}'
bash_command='${command1};${command2}'
)
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,16 @@ class RunJavaFlowBlock(javaJob: JavaJob, variables:Map[String,Expression], confi
object evalObject extends ExpressionCreator
val id = IDGenerator.autoId
val defaultArgs = Map ( "programConfiguration"->configuration, "localVariables" -> variables,"evalObject" -> evalObject)
val copyJarKey = displayName +"_C"+id
/* val copyJarKey = displayName +"_C"+id
val copyJarContent = Templates.translate("templates/download-jar.ssp",Map("name" -> copyJarKey,
"javaJob" -> javaJob) ++defaultArgs)

*/
val runJarKey = displayName+"_R"+id
val runJarContent = Templates.translate("templates/run-jar.ssp",Map("name" -> runJarKey,
"javaJob" -> javaJob) ++defaultArgs)

List( KeyAndContent(copyJarKey,copyJarContent,true), KeyAndContent (runJarKey,runJarContent,true))
List(
//KeyAndContent(copyJarKey,copyJarContent,true),
KeyAndContent (runJarKey,runJarContent,true))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ class TemplateTest extends BaseBBCGrammarTest with ExpressionCreator{

val job = parseAll(_javaJobBody, jobDefintiion).get

/*
Templates.translate("templates/download-jar.ssp", Map("name" -> taskName, "localVariables" -> localVariables,
"evalObject" -> evalObject,
"programConfiguration" -> programConfiguration,
Expand All @@ -47,14 +48,15 @@ class TemplateTest extends BaseBBCGrammarTest with ExpressionCreator{
| object='${objectName}',
| filename='/tmp/${objectName}'
)""".stripMargin
*/

Templates.translate("templates/run-jar.ssp", Map("name" -> taskName, "localVariables" -> localVariables,
"evalObject" -> evalObject,
"programConfiguration" -> programConfiguration,
"javaJob" -> job._2)) shouldBe "\n" +
s""" $taskName = bash_operator.BashOperator(
| task_id='run_jar_${taskName}',
| bash_command='java -cp /tmp/${objectName} $mainClass ${programArguments.mkString(" ")}'
| bash_command='gsutil -m cp -r gs://${bucketName}/${objectName} .;java -cp ${objectName} $mainClass ${programArguments.mkString(" ")}'
)""".stripMargin
}
test("delete gcs") {
Expand Down

0 comments on commit f9555bc

Please sign in to comment.