Ludovic DEHON
80bba59c7b
fix(core): prevent FlowableTask to hit Workers ( #238 )
...
close #223
2020-12-03 19:05:01 +01:00
Ludovic DEHON
e3a4219d56
fix(tasks): fix bash docs & renaming files to be consistent ( #235 )
2020-12-03 17:21:27 +01:00
tchiotludo
b93f098890
fix(core): Remove trigger last execution when we remove the trigger
...
close #229
2020-11-27 15:23:43 +01:00
tchiotludo
213317cb1c
feat(core): make scheduler independent from ElasticSearch and use Kafka
2020-11-27 15:22:47 +01:00
tchiotludo
273d817cc2
feat(core): make scheduler scalable
...
Now scheduler can be scalable and deploy as many time as you want.
We use kafka to dispatch flow between different scheduler.
feat(sftp): add proxy options to sftp (#3 )
chore(docs): update README with docs link
2020-11-27 15:21:24 +01:00
tchiotludo
fa4610d8ba
feat(runner-memory): try to be more resilient for unit test
2020-10-29 10:08:24 +01:00
tchiotludo
6d33b89025
feat(tasks): add a EachParallel task
2020-10-28 07:53:27 +01:00
tchiotludo
9e89e150be
feat(core): add metrics on all executors
2020-10-28 07:52:15 +01:00
tchiotludo
5a3acef783
feat(core): move all documentation to JsonSchema
2020-10-27 11:23:57 +01:00
tchiotludo
55e78b1d7a
feat(core): condition available for all triggers and log for trigger
...
- now conditions are usable on every trigger (not only flow)
- Log from trigger will be save to LogRepository
- TriggerId is saved on execution to know which trigger start this execution
2020-10-23 13:23:20 +02:00
tchiotludo
6340a757b6
fix(core): fix template on other server than executor
...
Kafka is enabled but we don't want KafkaTemplateExecutor on webserver
2020-09-25 22:00:25 +02:00
Ludovic DEHON
818921500e
feat(core): handle worker task with java ThreadPool ( #165 )
...
This allow to handle parallel processing on the same kafka partition.
We need to detect in this case dead worker, this is done with Executor and WorkerInstance declaration
2020-09-25 15:56:09 +02:00
eric regnier
6d467bc8a4
feat(core): add a template task ( #161 )
...
Add a task type template that will allow to have some template defined and reuse on other flow.
Co-authored-by: tchiotludo <tchiot.ludo@gmail.com >
2020-09-25 15:25:30 +02:00
Ludovic DEHON
0df248abd6
feat(core): add flow trigger ( #162 )
...
Allow to trigger an execution at the end of another one
Also reintroduce Kafka only for KafkaRunner (removing FlowRepository)
Move Listeners conditions to a generic condition usable for Trigger & Listener
2020-09-22 09:16:51 +02:00
Ludovic DEHON
b4b44f6a73
feat(core): introduce kill a running execution ( #151 )
...
Allow to kill a running execution.
All tasks killed will be in KILLING state waiting the completion of the kill and go to KILLED state after that
2020-09-10 09:50:53 +02:00
Ludovic DEHON
86e0b79e64
feat(core): remove log from Execution and use a dedicated Queue / Repository ( #97 )
...
Large log can lead to the Execution object.
Now we put the log line by line on a new queue and save it to dedicated repository.
This also allow log to be real time.
close #74
close #34
Co-authored-by: Eric Régnier <utopman@gmail.com >
2020-08-20 09:50:42 +02:00
tchiotludo
0af8eba474
fix(runner-memory): Index out of bound on MemoryQueue
2020-08-04 12:08:08 +02:00
tchiotludo
80ee74fee6
fix(runner-memory): try to fix error index bound must be positive during unit test
2020-07-09 14:10:11 +02:00
tchiotludo
220390eaff
feat(core): introduce RunContextFactory
...
RunContextFactory simplify unit test and avoid depending on applicationContext
2020-07-09 14:10:11 +02:00
tchiotludo
4d531e6757
feat(kafka-runner): add a flow queue that allow kafka executor to run without repository
...
Kafka Executor now is fully independent and run with only Kafka & KafkaStream
2020-06-18 14:39:18 +02:00
tchiotludo
5ba02fc87f
feat(core): add some missing metrics on Executor
2020-06-03 10:41:15 +02:00
Ludovic DEHON
361b1d18cf
fix(core): fix possible duplicate workerTask submitted ( #118 )
...
On high concurrency, some WorkerTask can be send multiple time lead to error : Can't find taskRun.
We need to add a deduplication and flatten the KafkaStream tree for KafkaExecutor.
2020-05-28 17:22:05 +02:00
tchiotludo
c5cf812fc7
feat(core): handle restart with parallel tasks
2020-05-05 22:05:43 +02:00
tchiotludo
8afa001b73
feat(core): handle parallel Task on memory runner
2020-05-05 22:05:43 +02:00
tchiotludo
6eedab1a92
fix(core): better handling of MemoryRunner startup
2020-04-21 21:34:35 +02:00
tchiotludo
2c93232b6d
fix(core): Runner error handling on internal failure
...
some borderline error are not catched for now on runner
2020-03-18 14:47:02 +01:00
Ludovic DEHON
7800d448be
fix(core): handle case executor will failed but invalid flow ( #82 )
...
mostly when invalid variable, the executor will raise an exception, the executor will crash and the flow was keep running.
Now we catch the exception and pass the execution to failed
2020-03-06 11:56:57 +01:00
tchiotludo
f655bad01e
test(core): replace fail fast ThreadUncaughtExceptionHandlers in unit test in order to keep retry feature
2020-03-02 20:46:48 +01:00
tchiotludo
3db80adf4e
feat(core): add a fail fast for all thread pool
2020-02-27 11:32:30 +01:00
tchiotludo
f013062bed
feat(core): add server metrics
...
add metrics for Worker, Indexer & Executor
2020-02-12 21:18:20 +01:00
tchiotludo
49f829e3d3
fix(core): Execution status randomly stuck in "created"
...
The reason is that the ExecutionController try to fetch current execution on repository.
But since it was async call, the ExecutionController can return an `Flowable.empty()` on this case that will stop the webui.
Also fix infinite consume in case the execution is terminated, Now return the last execution if terminated.
close #48
close #48
2020-02-10 12:22:23 +01:00
tchiotludo
7d73de3123
fix(core): add serialization on MemoryQueue
...
this allow to debug de ClassLoader and have serialization like other queue
2020-01-26 21:24:16 +01:00
tchiotludo
e886b07740
feat(core): RunContext vars for envs and globals vars
...
* Allow to pass globals vars from configuration files
* Filter env vars passed with configurable prefix
* Always pass ApplicationContext to RunContext to avoid weird case
2020-01-17 22:30:41 +01:00
tchiotludo
c710ae524d
feat(cicd): Introduce github action
...
* Github action main workflow
* Publish package & main jar to Bintray
* Slack notification
2020-01-02 17:30:16 +01:00
tchiotludo
e40014b0b9
chore(name): rename to final name
2019-12-27 13:50:15 +01:00
Ludovic DEHON
1fef7509bb
feat(ui): introduce web ui ( #12 )
...
Introduce a web ui with initial support for :
* Flows list (optionally filter by namespace)
* Flow Detail :
* Initial topology view
* Flow Executions
* Edit flow
* Trigger flow
* Executions List
* Executions Detail :
* Overview
* Gantt view
* Logs
* Initial topology view
2019-12-26 14:55:33 +01:00
tchiotludo
3af0ef4ae9
fix(core): introduce Listeners
...
Listeners allow to execute some task after the flow. They are still considered as a TaskRun and save in the execution. They can have condition.
- add SlackIncomingWebhook notifications task
- add SlackExecution task with a message about the result of the execution
2019-12-19 10:34:59 +01:00
tchiotludo
7ae56e3a0b
chore(deps): update all dependencies
2019-12-02 21:41:19 +01:00
tchiotludo
fff742130c
refactor(core): change namespace of repository & runner test
2019-12-02 18:09:45 +01:00
tchiotludo
3519e44563
feat(core): introduce EachSequential flow tasks
...
Also introduced ResolvedTask to old tasks dynamic value
Filter taskRun execution by parentTaskRun
2019-11-27 18:48:42 +01:00
tchiotludo
2008cfd221
fix(core): Fix complex flow with nested child tasks
...
- refactor the whole flow handler
- remove old Executor class and merge it with ExecutionState
2019-11-19 13:36:02 +01:00
tchiotludo
331ba5d78e
feat(repository): add a configuration to enabled to right repository
...
- also move flow test to AbstractFlowRepositoryTest to have a consistent behaviour between repository
2019-11-04 13:09:16 +01:00
tchiotludo
20cd6761b9
feat(flow): handle correctly namespace & revision
2019-11-03 20:53:37 +01:00
tchiotludo
20a53d9279
fix(runner): fix the ExecutionState
...
ExecutionState revamp to try to avoid missing taskRun
2019-10-27 21:19:20 +01:00
tchiotludo
bcc5798d7f
feat(storage): initial commit of storage
2019-10-19 13:43:16 +02:00
tchiotludo
05f1e20a3c
feat(execution): vars & template everywhere
...
- add handlebars formatting
- add output from tasks
- fill variables for handlebars with many value (env vars, inputs, outputs, ...)
2019-10-05 15:09:15 +02:00
tchiotludo
5d3d3cc53e
feat(worker): save log to executions
2019-10-03 09:42:38 +02:00
tchiotludo
b4d026574c
feat(queue): introduce Kafka Queue
2019-10-03 07:44:27 +02:00
tchiotludo
83c11ee119
refactor(core): separate to different module for runner-memory & local repository
2019-09-23 20:55:18 +02:00