All Projects → RamblingCookieMonster → Invoke Parallel

RamblingCookieMonster / Invoke Parallel

Licence: mit
Speed up PowerShell with simplified multithreading

Programming Languages

powershell
5483 projects

Labels

Projects that are alternatives of or similar to Invoke Parallel

distributed
Library to provide Erlang style distributed computations. This library is inspired by Cloud Haskell.
Stars: ✭ 49 (-84.29%)
Mutual labels:  parallel
node-bogota
🚀 Run tape tests concurrently with tap-spec output
Stars: ✭ 15 (-95.19%)
Mutual labels:  parallel
Bluepill
Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine
Stars: ✭ 3,080 (+887.18%)
Mutual labels:  parallel
trembita
Model complex data transformation pipelines easily
Stars: ✭ 44 (-85.9%)
Mutual labels:  parallel
kinetics-downloader
Simple tool to download videos from kinetics dataset.
Stars: ✭ 28 (-91.03%)
Mutual labels:  parallel
data-parallelism
juliafolds.github.io/data-parallelism/
Stars: ✭ 22 (-92.95%)
Mutual labels:  parallel
Autonomx
Autonomx provides a complete testing platform for UI (Web, iOS, Android, Win) and API testing. It provides a feature rich and viable testing solution for end to end testing. It's designed to be fast, scalable, reliable and adaptable to any requirements for ever growing projects.
Stars: ✭ 14 (-95.51%)
Mutual labels:  parallel
S3 Parallel Put
Parallel uploads to Amazon AWS S3
Stars: ✭ 294 (-5.77%)
Mutual labels:  parallel
pugz
Truly parallel gzip decompression
Stars: ✭ 96 (-69.23%)
Mutual labels:  parallel
Awesome Cuda
This is a list of useful libraries and resources for CUDA development.
Stars: ✭ 274 (-12.18%)
Mutual labels:  parallel
lbvh
an implementation of parallel linear BVH (LBVH) on GPU
Stars: ✭ 67 (-78.53%)
Mutual labels:  parallel
MultiHttp
This is a high performance , very useful multi-curl tool written in php. 一个超级好用的并发CURL工具!!!(httpful,restful, concurrency)
Stars: ✭ 79 (-74.68%)
Mutual labels:  parallel
geowombat
GeoWombat: Utilities for geospatial data
Stars: ✭ 34 (-89.1%)
Mutual labels:  parallel
shortcut-comparison
Performance comparison of parallel Rust and C++
Stars: ✭ 74 (-76.28%)
Mutual labels:  parallel
Quantum
Powerful multi-threaded coroutine dispatcher and parallel execution engine
Stars: ✭ 291 (-6.73%)
Mutual labels:  parallel
run-parallel-limit
Run an array of functions in parallel, but limit the number of tasks executing at the same time
Stars: ✭ 70 (-77.56%)
Mutual labels:  parallel
last-hit
puppeteer UI automation test tools, record once, run everywhere, bringing you a comprehensive and enjoyable automation experience
Stars: ✭ 29 (-90.71%)
Mutual labels:  parallel
Curl Easy
cURL wrapper for PHP. Supports parallel and non-blocking requests. For high speed crawling, see stil/curl-robot
Stars: ✭ 297 (-4.81%)
Mutual labels:  parallel
Parallel.js
Easy multi-core processing utilities for Node.
Stars: ✭ 3,096 (+892.31%)
Mutual labels:  parallel
Alpha Zero Gomoku
A Multi-threaded Implementation of AlphaZero
Stars: ✭ 264 (-15.38%)
Mutual labels:  parallel

Build status

Invoke-Parallel

This function will take in a script or scriptblock, and run it against specified objects(s) in parallel. It uses runspaces, as there are many situations where jobs or PSRemoting are not appropriate.

Instructions

# Download and unblock the file(s).
# Dot source the file.
    . "\\Path\To\Invoke-Parallel.ps1"


# Get help for the function
    Get-Help Invoke-Parallel -Full


# Use Invoke-Parallel with variables in your session

    $Number = 2
    1..10 | Invoke-Parallel -ImportVariables -ScriptBlock { $Number * $_ }


# Use the $Using Syntax, currently restricted to PowerShell v3 and later

    $Path = 'C:\temp\'

    'Server1', 'Server2' | Invoke-Parallel {

        #Create a log file for this server, use the root $Path
        $ThisPath = Join-Path $Using:Path "$_.log"
        "Doing something with $_" | Out-File -FilePath $ThisPath -Force

    }


# Import modules found in the current session

    #From https://psremoteregistry.codeplex.com/releases/view/65928
    Import-Module PSRemoteRegistry

    $ServerList | Invoke-Parallel -ImportModules -ScriptBlock {

        $Key = 'Software\Microsoft\Windows\CurrentVersion\Policies\System'
        Get-RegValue -ComputerName $_ -Hive LocalMachine -Key $Key |
            Select ComputerName, Value, Data

    }


# Want to time out items that take too long?

    1..5 | Invoke-Parallel -RunspaceTimeout 2 -ScriptBlock {

        "Starting $_"
        Start-Sleep -Seconds $_
        "If you see this, we didn't timeout $_"
    }


# Is one thread freezing up when you time it out, and preventing your scripting from moving on?

    $ServerList | Invoke-Parallel -RunspaceTimeout 10 -NoCloseOnTimeout -ScriptBlock {

            Get-WmiObject -Class Win32_OperatingSystem -ComputerName $_ | select -Property PSComputerName, Caption, Version

    }

Some outdated notes and details are available on the TechNet Galleries submission.

Help!

Would love contributors, suggestions, feedback, and other help! Split this out at the suggestion of @vors to help enable collaboration.

Notes

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