{"id":19696314,"url":"https://github.com/huysentruitw/process-manager","last_synced_at":"2025-09-01T09:32:23.563Z","repository":{"id":95548244,"uuid":"47711517","full_name":"huysentruitw/process-manager","owner":"huysentruitw","description":"Managed library for managing and queing spawned processes","archived":false,"fork":false,"pushed_at":"2019-12-26T11:17:17.000Z","size":13,"stargazers_count":29,"open_issues_count":1,"forks_count":13,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-08-12T01:26:00.298Z","etag":null,"topics":["csharp","dotnet","ffmpeg","imagemagick","processmanager"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/huysentruitw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"huysentruitw"}},"created_at":"2015-12-09T18:46:05.000Z","updated_at":"2025-03-22T14:54:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"9e75dba6-16f7-4839-8bfe-44277a0f696b","html_url":"https://github.com/huysentruitw/process-manager","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/huysentruitw/process-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huysentruitw%2Fprocess-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huysentruitw%2Fprocess-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huysentruitw%2Fprocess-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huysentruitw%2Fprocess-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/huysentruitw","download_url":"https://codeload.github.com/huysentruitw/process-manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huysentruitw%2Fprocess-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273100049,"owners_count":25045697,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-01T02:00:09.058Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","dotnet","ffmpeg","imagemagick","processmanager"],"created_at":"2024-11-11T19:34:39.424Z","updated_at":"2025-09-01T09:32:23.536Z","avatar_url":"https://github.com/huysentruitw.png","language":"C#","funding_links":["https://github.com/sponsors/huysentruitw"],"categories":[],"sub_categories":[],"readme":"# ProcessManager\n\n[![Build status](https://ci.appveyor.com/api/projects/status/ajvmvs3ha8sm8d8x/branch/master?svg=true)](https://ci.appveyor.com/project/huysentruitw/process-manager/branch/master)\n\n## Overview\n\nProcessManager is a managed (C#) library that can be used to queue and start processes like you would with `Process.Start()` but better. Maximum number of simultaneous processes can be configured, processes can be queued and events will notify your code when a process is started, finished or outputs data to standard output or standard error.\n\nThis library is great for running lengthy, CPU intensive, tasks like image or video conversions.\n\n## Get it on NuGet\n\n    Install-Package ProcessManager\n\n## Usage\n\n```C#\nvar manager = new Manager(4); // Max 4 processes will be started simultaneously\nmanager.Start();\n\nmanager.ProcessErrorDataReceived += (sender, e) =\u003e Console.WriteLine(e.Data);\nmanager.ProcessOutputDataReceived += (sender, e) =\u003e Console.WriteLine(e.Data);\n\nforeach (var videoFileName in Directory.EnumerateFiles(\"videos\"))\n{\n\tvar info = new ProcessInfo(\n\t\t\"ffprobe.exe\",\n\t\tstring.Format(\"-v quiet -print_format json -show_format -show_streams \\\"{0}\\\"\", videoFileName));\n\n\tmanager.Queue(info);\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhuysentruitw%2Fprocess-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhuysentruitw%2Fprocess-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhuysentruitw%2Fprocess-manager/lists"}