-
Notifications
You must be signed in to change notification settings - Fork 1
conductor
HOA PHAN edited this page Sep 23, 2023
·
14 revisions
- do they scale differently
- do they likely to evolve seperately or together
- do you want to share the task impl with someone else, and confident your worker will fit other's needs, do you commit to support others with mantenance/feature of this worker. Think of a task like an API with input and output. Note that the mentioned condition is harder to meet if the worker purpose is to produce side effect. (1)
- is the extra box worth the HTTP round trip, the extra objects and storages around this extra node in the graph everywhere the data is presented.
- do the extra node in the workflow tell a more meaningful and relevant story to the person who inspect the workflow, for the majority of the time. Or would it rather confusing to them for exposing the implementation that has nothing to do.
Test and Debug Test
./gradlew :conductor-java-sdk:test --tests WorkflowCreationTests --debug-jvm
Issues:
- Java 17 now, com.netflix.conductor.core.events.ScriptEvaluator should be broken since:
// Unless plugging in a third party, Nashorn was removed since 15
ScriptEngine engine = new ScriptEngineManager().getEngineByName("Nashorn");
System.out.println(engine);// should be null
java.util.List<ScriptEngineFactory> eF = new ScriptEngineManager().getEngineFactories();
System.out.println(eF.size());// should be empty
Springboot
classpath 'org.springframework.boot:spring-boot-gradle-plugin:2.7.3'
See dep
eg at test-server.properties, enabling http://localhost:8080/actuator:
management.endpoints.web.exposure.include=*
management.endpoints.env.exposure.include=*
management.endpoint.info.enabled=true
management.endpoint.env.enabled=true
quick start a server
java -cp -Dserver.port=8080 -DCONDUCTOR_CONFIG_FILE=/Users/hoaphan/dev/code/s50600822/conductor/java-sdk/build/resources/main/test-server.properties -jar /var/folders/wn/x0vkfv490vzbrtczr894j8nm0000gn/T/conductor-server.jar
Note that you can't inject -cp
because the Jar only loaded classed bundled and instructed by springboot packaging
https://docs.spring.io/spring-boot/docs/current/reference/html/executable-jar.html - if you do
java -verbose -cp ./nashorn-core-15.4.jar:./asm-9.1.jar -jar /var/folders/wn/x0vkfv490vzbrtczr894j8nm0000gn/T/conductor-server.jar
the JVM will simply ignore the extra jars.
:)))
➜ gradle-netflixoss-project-plugin git:(0ec0942) gradle dependencies --configuration runtime
> Configure project :
Signing plugin detected. Will automatically sign the published artifacts.
Inferred project: gradle-netflixoss-project-plugin, version: 11.3.0-dev.0+0ec0942
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/hoaphan/dev/code/gradle-netflixoss-project-plugin/build.gradle' line: 4
* What went wrong:
An exception occurred applying plugin request [id: 'com.netflix.nebula.plugin-plugin', version: '20.3.0']
> Failed to apply plugin 'com.netflix.nebula.source-jar'.
> No signature of method: static org.gradle.api.plugins.internal.JvmPluginsHelper.configureDocumentationVariantWithArtifact() is applicable for argument types: (String, null, String, EmptyList, String, org.gradle.api.internal.file.DefaultSourceDirectorySet_Decorated...) values: [sourcesElements, null, sources, [], sourceJar, main source, ...]
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Get more help at https://help.gradle.org.
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
For more on this, please refer to https://docs.gradle.org/8.3/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
BUILD FAILED in 1s
Publishing build scan...
https://gradle.com/s/f43grt6wuuiwy