All Projects → MasterOfBinary → gobatch

MasterOfBinary / gobatch

Licence: MIT license
Batch processing library for Golang.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to gobatch

svg2vector
Online batch converter of SVG images to Android vector drawable XML resource files
Stars: ✭ 39 (+105.26%)
Mutual labels:  batch, batch-processing
Faast.js
Serverless batch computing made simple.
Stars: ✭ 1,323 (+6863.16%)
Mutual labels:  batch, batch-processing
Rocketjob
Ruby's missing background and batch processing system
Stars: ✭ 258 (+1257.89%)
Mutual labels:  batch, batch-processing
rocketjob
Ruby's missing background and batch processing system
Stars: ✭ 281 (+1378.95%)
Mutual labels:  batch, batch-processing
aws-batch-example
Example use of AWS batch
Stars: ✭ 96 (+405.26%)
Mutual labels:  batch, batch-processing
Easy Batch
The simple, stupid batch framework for Java
Stars: ✭ 493 (+2494.74%)
Mutual labels:  batch, batch-processing
Mkvtoolnix Batch
Windows Batch script to automate batch processing using mkvtoolnix.
Stars: ✭ 42 (+121.05%)
Mutual labels:  batch, batch-processing
Asakusafw
Asakusa Framework
Stars: ✭ 114 (+500%)
Mutual labels:  batch, batch-processing
spring-batch-rest
REST API for Spring Batch using Spring Boot 2.2
Stars: ✭ 85 (+347.37%)
Mutual labels:  batch, batch-processing
Excel Parser Processor
Simply does the tedious, repetitive operations for all rows of excel files step by step and reports after the job is done. It can download files from URL(s) in a column of Excel files. If a new filename is provided at column B it will rename the file before saving. It will even create sub folders if column C is full with a valid folder name.
Stars: ✭ 177 (+831.58%)
Mutual labels:  batch, batch-processing
goroutines
It is an efficient, flexible, and lightweight goroutine pool. It provides an easy way to deal with concurrent tasks with limited resource.
Stars: ✭ 88 (+363.16%)
Mutual labels:  batch, batch-processing
python-batch-runner
A tiny framework for building batch applications as a collection of tasks in a workflow.
Stars: ✭ 22 (+15.79%)
Mutual labels:  batch, batch-processing
rack-cargo
🚚 Batch requests for Rack apps (works with Rails, Sinatra, etc)
Stars: ✭ 17 (-10.53%)
Mutual labels:  batch, batch-processing
IFIscripts
Detailed documentation is available here: http://ifiscripts.readthedocs.io/en/latest/index.html
Stars: ✭ 46 (+142.11%)
Mutual labels:  batch-processing
SZTElectronicInvoice
深圳通充值发票手动、自动批量下载程序【代码仅供学习,请勿非法使用,违者一概不负责任】
Stars: ✭ 17 (-10.53%)
Mutual labels:  batch
GraphOne
"GraphOne: A Data Store for Real-time Analytics on Evolving Graphs", Usenix FAST'19
Stars: ✭ 46 (+142.11%)
Mutual labels:  batch
Defeat-Defender-V1.2
Powerful batch script to dismantle complete windows defender protection and even bypass tamper protection ..Disable Windows-Defender Permanently....Hack windows. POC
Stars: ✭ 885 (+4557.89%)
Mutual labels:  batch
tf-faster-rcnn
Tensorflow 2 Faster-RCNN implementation from scratch supporting to the batch processing with MobileNetV2 and VGG16 backbones
Stars: ✭ 88 (+363.16%)
Mutual labels:  batch-processing
dataloader-dotnet
DataLoader for .NET
Stars: ✭ 40 (+110.53%)
Mutual labels:  batch
RCWM
Right Click Windows Magic is an open-source set of right-click (context) menu tools for admins, power users and other magic beings. Batch&Powershell.
Stars: ✭ 39 (+105.26%)
Mutual labels:  batch

GoBatch

Build Status Coverage Status PkgGoDev

GoBatch is a batch processing library for Go. The data reader and processor are implementations of batch.Source and batch.Processor, respectively. The actual data input and the processing of a batch of items is done by the user, while the batch.Batch structure provided by the GoBatch library handles the rest of the pipeline.

The batch pipeline consists of several stages:

  1. Reading from the source, which could be a channel, disk, Redis, or pretty much anywhere. All that's needed is a Source implementation that knows how to do it.
  2. The data is written to the channels provided by a batch.PipelineStage and passed to Batch, which queues the items and prepares them for processing. It decides how many items to batch together based on its configuration.
  3. Batch sends the items in batches, as a PipelineStage, to the Processor, which does whatever is necessary with the data.

Typical usage of GoBatch is when reading or writing to a remote database or Redis. By batching together multiple calls, fewer connections are made and network traffic is reduced.

NOTE: GoBatch is considered a version 0 release and is in an unstable state. Compatibility may be broken at any time on the master branch. If you need a stable release, wait for version 1.

Features

  • Complete control over the number of items to process at once and amount of time between batches.
  • Errors are returned over a channel, so that they can be logged or otherwise handled.
  • GoBatch is concurrency-safe.

Documentation

See the pkg.go.dev docs for documentation and an example.

Installation

To download, run

go get github.com/MasterOfBinary/gobatch

GoBatch doesn't require any dependencies except Go 1.7 or later and the standard library.

Examples

See the pkg.go.dev docs for examples.

License

GoBatch is provided under the MIT licence. See LICENSE for more details.

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