All Projects → camunda-community-hub → camunda-bpm-custom-batch

camunda-community-hub / camunda-bpm-custom-batch

Licence: Apache-2.0 license
using the camunda batch execution for custom batch runs

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to camunda-bpm-custom-batch

Multiselectadapter
MultiSelectAdapter可以让你的Adapter快速实现多选和批量操作
Stars: ✭ 195 (+786.36%)
Mutual labels:  batch
micronaut-camunda-external-client
This open source project allows you to easily integrate Camunda's External Task Clients into Micronaut projects: simply add a dependency in your Micronaut project
Stars: ✭ 19 (-13.64%)
Mutual labels:  camunda
bodywork-ml-pipeline-project
Deployment template for a continuous training pipeline.
Stars: ✭ 22 (+0%)
Mutual labels:  batch
Entityframework Extensions
Entity Framework Bulk Operations | Improve Entity Framework performance with Bulk SaveChanges, Insert, update, delete and merge for SQL Server, SQL Azure, SQL Compact, MySQL and SQLite.
Stars: ✭ 215 (+877.27%)
Mutual labels:  batch
Specification
OpenMessaging Specification
Stars: ✭ 242 (+1000%)
Mutual labels:  batch
camunda-formio-plugin
Integration for Drag and Drop Formio Form Builder and Renderer with Camunda Tasklist App
Stars: ✭ 61 (+177.27%)
Mutual labels:  camunda
Scio
A Scala API for Apache Beam and Google Cloud Dataflow.
Stars: ✭ 2,247 (+10113.64%)
Mutual labels:  batch
lighthouse-batch-parallel
A module for helping collecting websites' Lighthouse audit data in batches. Get the report data stream in CSV, JS Object or JSON format. Also provide a cli-tool to generate the report file in CSV or JSON format directly.
Stars: ✭ 22 (+0%)
Mutual labels:  batch
Graphql Resolve Batch
A GraphQL batching model which groups execution by GraphQL fields.
Stars: ✭ 251 (+1040.91%)
Mutual labels:  batch
BAT FFMPEG
Batch script files for FFMPEG (Microsoft Windows and DOS, OS/2 🦄)
Stars: ✭ 104 (+372.73%)
Mutual labels:  batch
Sidekiq Batch
Sidekiq Batch Jobs Implementation
Stars: ✭ 233 (+959.09%)
Mutual labels:  batch
Gorm Bulk Insert
implement BulkInsert using gorm, just pass a Slice of Struct. Simple and compatible.
Stars: ✭ 241 (+995.45%)
Mutual labels:  batch
you-get-ffmpeg
结合you-get、youtube-dl和FFMPEG,附带文件管理视频播放等命令
Stars: ✭ 72 (+227.27%)
Mutual labels:  batch
Cuteviruscollection
A Collection of Cute But Deadly Viruses (small-unharmful-annoying-harmless-funny-computer-malware-virus-worm-windows-xp-7-10)
Stars: ✭ 202 (+818.18%)
Mutual labels:  batch
spring-batch-rest
REST API for Spring Batch using Spring Boot 2.2
Stars: ✭ 85 (+286.36%)
Mutual labels:  batch
Multisender
Token Multisender Dapp smart contract. Airdrop tokens. Batch sending ERC20, ETH, Ethereum tokens. Send thousands of transfers in a few transactions. It can help user to save more tx fee and time than sending one by one
Stars: ✭ 185 (+740.91%)
Mutual labels:  batch
JSBatchobfuscator
JSBatchobfuscator is a simple obfuscator for batch script
Stars: ✭ 47 (+113.64%)
Mutual labels:  batch
animethemes-dl
THIS PROJECT HAS BEEN ABANDONED. Downloads anime themes from animethemes.moe. Supports Batch download and MAL/AniList connecting.
Stars: ✭ 21 (-4.55%)
Mutual labels:  batch
aws-genomics-workflows
Genomics Workflows on AWS
Stars: ✭ 131 (+495.45%)
Mutual labels:  batch
awesome-camunda
a curated list of awesome Camunda BPM projects, libraries, tools, documentations, forum posts, etc.
Stars: ✭ 93 (+322.73%)
Mutual labels:  camunda

camunda-platform-7-custom-batch

Community%20Extension An%20open%20source%20community%20maintained%20project FF4700
Lifecycle Stable brightgreen
Compatible with: Camunda Platform 7
badge
License Apache%202.0 blue

The goal of this camunda extension is to provide an simple way of using the camunda batch functionality. Camunda Batch could be used to split a huge workload into small asynchronous jobs. With this extension, we want to open the camunda batch functionality to everyone.

Why should I use this extension

Camunda batch is really cool for offloading huge workload into small asynchronous pieces of work. E.g.:

  • Unclaiming / Updating a huge list of camunda tasks

  • Call APIs with batches of data

  • Distribution of emails

  • Technical stuff like clean-up

Get started

The extension will be published on maven central, so if you are using maven, just add the dependency:

Maven Users:

<dependency>
  <groupId>org.camunda.community.batch</groupId>
  <artifactId>camunda-platform-7-custom-batch-core</artifactId>
  <version>1.18.0</version>
</dependency>

Gradle Users:

compile("org.camunda.community.batch:camunda-platform-7-custom-batch-core:1.18.0")

First you have to define an own job handler for working on the single batch data:

@Component
public class PrintStringBatchJobHandler extends CustomBatchJobHandler<String> {
  @Override
  public void execute(List<String> data, CommandContext commandContext) {
      data.forEach(dataEntry -> logger.info("Work on data entry: " + dataEntry));
  }

  @Override
  public String getType() {
      return "print-string-batch-handler";
  }
}

Next you have to notify the engine about this job handler, e.g. with spring-boot:

@Bean
public ProcessEnginePlugin customBatchHandlerPlugin(PrintStringBatchJobHandler printStringBatchJobHandler) {
  return CustomBatchHandlerPlugin.of(printStringBatchJobHandler);
}

Finally, the creation of the batch itself:

CustomBatchBuilder.of(listOfStringData)
  .jobHandler(printStringBatchJobHandler)
  .create();

Or with more configuration:

CustomBatchBuilder.of(listOfStringData)
  .configuration(engineConfiguration)
  .jobHandler(printStringBatchJobHandler)
  .jobsPerSeed(10)
  .jobPriority(0L)
  .invocationsPerBatchJob(5)
  .exclusive(true)
  .create(engineConfiguration.getCommandExecutorTxRequired());

Note: The batch jobPriority is only considered when using Job Executor with the corresponding Acquisition Strategy jobExecutorAcquireByPriority. (see camunda documentation) The seed and monitor jobs receive the same priority as the batch.

Versions

1.18.0

  • Update to use latest camunda version (7.18)

  • New version schema …​ minor version number should always reflect the camunda number.

1.6.0

  • Update to use latest camunda version (7.17) + spring boot (2.6.3)

  • BREAKING CHANGE: java package path changed from org.camunda.bpm.extension.batch to org.camunda.community.batch

  • ATTENTION: new maven coordinates!

  <groupId>org.camunda.community.batch</groupId>
  <artifactId>camunda-platform-7-custom-batch-core</artifactId>

1.5.2

  • Update to use latest camunda version (7.15)

1.5.1

  • Update to use latest camunda version (7.14)

1.5

  • BREAKING CHANGES: This version is needed to be compatible with Camunda Version 7.13! (It will NOT work with with lower camunda versions)

1.4

  • Use gson as json converter to be compatible with camunda release 7.11

1.3

  • Batch Configuration gets now saved as json, but it’s still possible to work on "old" batches because the extension is downwards compatible

  • It’s now possible to set exclusive flag for batch jobs (see Camunda Job Docs)

1.2

  • Batch Job priority could be set

Roadmap

todo

  • Provide a data collector class

  • Provide a timer job for automatically triggering of batch creation

Resources

Maintainer

Contributors

Sponsor

License

Apache License, Version 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].