Conductor is a microservices orchestration engine - https://netflix.github.io/conductor/
Java JavaScript Go Python CSS Shell Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
client chore(api): removed unused imports Aug 15, 2018
common event processor error handling fix Aug 6, 2018
contribs make httpCall protected access Aug 7, 2018
core resolve merge conflicts Aug 15, 2018
docker Include python for node.js build Jan 26, 2018
docs Fixed local server start issues. Updated docs. Jun 12, 2018
es2-persistence Fixed Task logs indexing errors. Aug 8, 2018
es5-persistence Fixed Task logs indexing errors. Aug 8, 2018
gradle/wrapper upgrade gradle wrapper to 4.8.1 Jul 14, 2018
jersey fix(log): added logging exception trace Aug 15, 2018
mysql-persistence resolve merge conflicts Aug 7, 2018
redis-persistence logs and cleanup Aug 15, 2018
server event processor error handling fix Aug 6, 2018
test-harness chore(api): removed unused imports Aug 15, 2018
ui Update package-lock.json Aug 16, 2018
.gitattributes server module changes to create a shadow jar Jan 13, 2017
.gitignore fix response timeout seconds behavior Jun 20, 2018
.travis.yml remove UI builds for now. May 11, 2017
CHANGELOG.md Initial commit Dec 7, 2016
CONTRIBUTING.md Initial commit Dec 7, 2016
LICENSE Initial commit Dec 7, 2016
OSSMETADATA Initial commit Dec 7, 2016
README.md Fixed local server start issues. Updated docs. Jun 12, 2018
build.gradle upgrade gradle wrapper to 4.8.1 Jul 14, 2018
buildViaTravis.sh remove master merge release from build script Apr 10, 2018
dependencies.lock Removed the ResponseTimeout check during ack time and enabled the che… Mar 9, 2018
family.properties Initial commit Dec 7, 2016
gradlew upgrade gradle wrapper to 4.8.1 Jul 14, 2018
gradlew.bat upgrade gradle wrapper to 4.8.1 Jul 14, 2018
settings.gradle Created es2-persistence standalone module. Jun 5, 2018
versionsOfDependencies.gradle event processor error handling fix Aug 6, 2018

README.md

Conductor

Conductor

Conductor is an orchestration engine that runs in the cloud.

Build Status

Documentation & Getting Started

http://netflix.github.io/conductor/

Getting Started guide.

Get Conductor

Binaries are available from Maven Central and jcenter.

Below are the various artifacts published:

Artifact Description
conductor-common Common models used by various conductor modules
conductor-core Core Conductor module
conductor-redis-persistence Persistence using Redis/Dynomite
conductor-es2-persistence Indexing using Elasticsearch 2.X
conductor-es5-persistence Indexing using Elasticsearch 5.X
conductor-jersey Jersey JAX-RS resources for the core services
conductor-ui node.js based UI for Conductor
conductor-contribs Optional contrib package that holds extended workflow tasks and support for SQS
conductor-client Java client for Conductor that includes helpers for running a worker tasks
conductor-server Self contained Jetty server
conductor-test-harness Used for building test harness and an in-memory kitchensink demo

Building

To build the server, use the following dependencies in your classpath:

  • conductor-common
  • conductor-core
  • conductor-jersey
  • conductor-redis-persistence (unless using your own persistence module)
  • conductor-es2-persistence or conductor-es5-persistence (unless using your own index module)
  • conductor-contribs (optional)

Deploying Jersey JAX-RS resources

Add the following packages to classpath scan:

com.netflix.conductor.server.resources
com.netflix.workflow.contribs.queue

Conductor relies on the guice (4.0+) for the dependency injection. Persistence has a guice module to wire up appropriate interfaces:

com.netflix.conductor.dao.RedisWorkflowModule

Database Requirements

Other Requirements

  • JDK 1.8+
  • Servlet Container

Get Support

Conductor is maintained by Media Workflow Infrastructure team at Netflix. Use github issue tracking for any support request.

LICENSE

Copyright (c) 2018 Netflix, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.