Popularity
2.4
Declining
Activity
0.0
Stable
35
4
2

Programming language: Go
License: MIT License
Tags: Goroutines    

parallel-fn alternatives and similar packages

Based on the "Goroutines" category.
Alternatively, view parallel-fn alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of parallel-fn or a related project?

Add another 'Goroutines' Package

README

Parallel fn

  • Run functions in parallel.
  • Limit the number of goroutines running at the same time.

Installation

go get -u github.com/rafaeljesus/parallel-fn

Usage

Run

package main

import (
    "errors"

    "github.com/rafaeljesus/parallel-fn"
)

func main() {
    timeout := time.After(2 * time.Second)
        fn1 := func() error { return nil }
        fn2 := func() error { return errors.New("BOOM!") }

    for {
        select {
        case err := <-Run(fn1, fn2):
                    // catch errors
        case <-timeout:
                // handle timeout
        }
    }
}

RunLimit

package main

import (
    "errors"

    "github.com/rafaeljesus/parallel-fn"
)

func main() {
    timeout := time.After(2 * time.Second)
    fn1 := func() error { return nil }
    fn2 := func() error { return errors.New("BOOM!") }
    fn3 := func() error { nil }
    fn4 := func() error { nil }

    for {
        select {
        case err := <-RunLimit(2, fn1, fn2, fn3, fn4):
                // catch errors
        case <-timeout:
                // handle timeout
        }
    }
}

Contributing

  • Fork it
  • Create your feature branch (git checkout -b my-new-feature)
  • Commit your changes (git commit -am 'Add some feature')
  • Push to the branch (git push origin my-new-feature)
  • Create new Pull Request

Badges

Build Status Go Report Card Go Doc


GitHub @rafaeljesus  ·  Medium @_jesus_rafael  ·  Twitter @_jesus_rafael