Schedule Conductor workflow is a scheduler as a service that runs in the cloud with Netflix conductor embedded in it. It runs as an extension module of conductor.
This project is maintained by jas34
This project is no longer maintained. Please note that there will be no further updates, bug fixes, or official support. Users are encouraged to seek alternative solutions or fork the project if continued development is required.
Schedule Conductor workflow is a spring boot based (version 2.0.0+) scheduler as a service that runs in the cloud with Netflix conductor embedded in it. It can run as an extension module of conductor. This is one of community project of netflix conductor community.
| Module | Build |
|:——:|:————————————————————————————————————-:|
| scheduledwf-server | |
| scheduledwf-module |
Quickly use able in _PRODUCTION_:
conductor.additional.modules=io.github.jas34.scheduledwf.config.ScheduledWfServerModule
scheduledwf-server
instead of conductor-server
.You are done!
Scheduled Workflow Metadata Management
)Scheduler Management
)mvn --settings settings.xml -P bintray clean install
scheduledwf/scheduledwf-server/target/scheduledwf-server-{version}.jar
java -jar scheduledwf-server-{version}.jar [PATH TO PROPERTY FILE] [log4j.properties file path]
application.properties
java -jar scheduledwf-server-{version}.jar
java -DCONDUCTOR_CONFIG_FILE={properties_file_path} -jar scheduledwf-server-{version}.jar
<dependency>
<groupId>io.github.jas34</groupId>
<artifactId>scheduledwf-module</artifactId>
<version>${scheduledwf-version}</version>
</dependency>
compile 'io.github.jas34:scheduledwf-module:${scheduledwf-version}'
Scheduled Workflow Metadata Management
/scheduling/metadata/scheduleWf
: Schedule new workflow/scheduling/metadata/scheduleWf
: Get scheduling metadata of scheduled workflows./scheduling/metadata/scheduleWf/{name}
: Get scheduling metadata of scheduled workflows by workflow name./scheduling/metadata/scheduleWf/{name}
: Update the status of scheduled workflow metadata.
- Version 2.0.0+/api/scheduling/metadata/scheduleWf
: Schedule new workflow/api/scheduling/metadata/scheduleWf
: Get scheduling metadata of scheduled workflows./api/scheduling/metadata/scheduleWf/{name}
: Get scheduling metadata of scheduled workflows by workflow name./api/scheduling/metadata/scheduleWf/{name}
: Update the status of scheduled workflow metadata.
- From swagger useScheduler Management
:io/github.jas34.scheduledwf.execution.DefaultScheduledProcessRegistry
.WorkflowSchedulerFactory<T extends ScheduledProcess>
)ScheduledProcess
is one of the granular entity that is expected to have reference to scheduled process/thread. Currently implemented as CronBasedScheduledProcess.WorkflowSchedulerFactory
.CronBasedWorkflowScheduler
also schedules in memory schedulers using wisp.Runnable
task through ScheduledTaskProvider interface.
##### ScheduledTaskProvider
getTask()
.LockingService
is composed of LockProvider
available in conductor.boolean issue(ScheduledTaskDef taskDef)
void giveBack(ScheduledTaskDef taskDef)
.
##### Execution Permitter
Permit
for a fix period in the persistence store used by LockProvider
.PermitDAO
.db=MYSQL
(Upto version 1.2.2) or conductor.db.type=mysql
(Version 2.0.0+).Scheduled Workflow Metadata Management
ScheduledWfMetadataDAO
for any other type of persistence store.IndexScheduledWfDAO
for Elastic Search persistence store.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.