Skip to content
Conductor is a microservices orchestration engine - https://netflix.github.io/conductor/
Java JavaScript Go Python CSS TSQL Other
Branch: master
Clone or download
Latest commit 214fe0e Feb 12, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
azureblob-storage Add AzureBlobPayloadStorage Module Jan 17, 2020
cassandra-persistence refactoring daos to enable different implementations and separation o… Jan 31, 2020
client fix skiptask API in http client Feb 11, 2020
common refactoring daos to enable different implementations and separation o… Jan 31, 2020
contribs set owner email in workflow and task def Jan 12, 2020
core refactoring daos to enable different implementations and separation o… Jan 31, 2020
docker Restrict logging Jan 10, 2019
docs Remove the documentation on Task Ack in beginner lab (#1509) Jan 24, 2020
es5-persistence Use configuration during index creation (#1464) Jan 22, 2020
es6-persistence Use configuration during index creation (#1464) Jan 22, 2020
gradle/wrapper upgrade gradle wrapper to 4.8.1 Jul 14, 2018
grpc-client set owner email in workflow and task def Jan 12, 2020
grpc-server refactoring daos to enable different implementations and separation o… Jan 31, 2020
grpc added workflow level timeouts Jan 12, 2020
jersey set owner email in workflow and task def Jan 12, 2020
mysql-persistence refactoring daos to enable different implementations and separation o… Jan 31, 2020
postgres-persistence refactoring daos to enable different implementations and separation o… Jan 31, 2020
redis-lock set owner email in workflow and task def Jan 12, 2020
redis-persistence refactoring daos to enable different implementations and separation o… Jan 31, 2020
server get rid of ExternalPayloadStorageType exception on startup Jan 31, 2020
test-harness fix skiptask API in http client Feb 11, 2020
ui set owner email in workflow and task def Jan 12, 2020
zookeeper-lock set owner email in workflow and task def Jan 12, 2020
.codecov.yml measure coverage every time dev is built, not master Oct 4, 2018
.gitattributes server module changes to create a shadow jar Jan 13, 2017
.gitignore Fix edges for joinOn references (#1050) May 14, 2019
.travis.yml allow adding task definitions for system tasks to configure timeouts etc Jul 24, 2019
CHANGELOG.md Initial commit Dec 7, 2016
CONTRIBUTING.md Fixed some links (#1163) May 29, 2019
LICENSE Initial commit Dec 7, 2016
OSSMETADATA Initial commit Dec 7, 2016
README.md Adding RELATED page with some community projects related to Conductor Jan 23, 2020
RELATED.md Adding RELATED page with some community projects related to Conductor Jan 23, 2020
build.gradle upgrade dyno queue version, some refactoring and cleanup Oct 12, 2018
buildViaTravis.sh remove obsolete code, modify travis sh file to run an additional code… Oct 2, 2018
dependencies.lock set owner email in workflow and task def Jan 12, 2020
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 add postgres persistence Nov 15, 2019
versionsOfDependencies.gradle Upgrade Mockito to v3 (#1450) Dec 24, 2019

README.md

Conductor

Conductor

Conductor is an orchestration engine that runs in the cloud.

Download License Issues NetflixOSS Lifecycle

Community

Gitter Please feel free to join our Gitter for questions and interacting with the community.

Access here other Conductor related projects made by the community! - Backup tool, Cron like workflow starter, Docker containers...

Builds

Conductor builds are run on Travis CI here.

Branch Build Coverage (coveralls.io) Coverage (codecov.io)
master Build Status Coverage Status codecov
dev Build Status Coverage Status codecov

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-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-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.

Contributions

Whether it is a small doc correction, bug fix or adding new module to support some crazy feature, contributions are highly appreciated. We just ask to follow standard oss guidelines. And to reiterate, please check with us before spending too much time, only to find later that someone else is already working on similar feature.

dev branch is the current working branch, while master branch is current stable branch. Please send your PR's to dev branch, making sure that it builds on your local system successfully. Also, please make sure all the conflicts are resolved.

Feel free to create an issue with a label: question, with any questions or requests for help.

License

Copyright 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.

You can’t perform that action at this time.