{"id":20850457,"url":"https://github.com/noteed/intake","last_synced_at":"2025-09-15T08:37:38.866Z","repository":{"id":9236417,"uuid":"11055022","full_name":"noteed/intake","owner":"noteed","description":"UNIX jobs orchestration","archived":false,"fork":false,"pushed_at":"2017-07-12T16:17:33.000Z","size":69,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-19T06:11:35.852Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/noteed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-06-29T15:54:06.000Z","updated_at":"2014-06-18T09:40:39.000Z","dependencies_parsed_at":"2022-09-22T15:40:18.703Z","dependency_job_id":null,"html_url":"https://github.com/noteed/intake","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noteed%2Fintake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noteed%2Fintake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noteed%2Fintake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noteed%2Fintake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/noteed","download_url":"https://codeload.github.com/noteed/intake/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243216123,"owners_count":20255318,"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","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":[],"created_at":"2024-11-18T03:09:37.638Z","updated_at":"2025-03-12T12:25:46.450Z","avatar_url":"https://github.com/noteed.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Intake - UNIX jobs orchestration\n\nIntake runs process workflows (as in UNIX, not business process).\n\n## Tentative README (a.k.a. not implemented stuff)\n\n### Running individual commands\n\n`intake` can run multiple jobs arranged in workflows, but at its heart it is\njust a simple tool to run commands. As a starter, consider running `echo\nhello world` the `intake` way:\n\n    \u003e intake run -c echo hello world\n    2e993bdb7b2d  2e993bdb7b2d8f01522e30cdfbb2a58f7ca663b5e54ba3f1b46b30305e70332a\n\nInstead of printing \"hello world\" to stdout, `intake` will create a process to\nrun the command and print some ID. That ID can then be used to retrieve the\nactual output of the command:\n\n    \u003e intake logs 2e993bdb7b2d\n    2e993bdb7b2d @4000000051b609a41cf78cdc hello world\n\nWhen the command takes time to complete, it is useful to probe the process\nstatus:\n\n    \u003e intake status 2e993bdb7b2d\n    2e993bdb7b2d Running.\n    \u003e intake status 2e993bdb7b2d\n    2e993bdb7b2d Succeeded.\n\nIf you want to follow the output as the process progresses, you can give the\n`-a` (as \"attach\") to `run`:\n\n    \u003e intake run -c -a echo hello world\n    2e993bdb7b2d @4000000051b609a41cf78cdc hello world\n\nAnother useful option is `-t` to provide a timeout (in seconds):\n\n    \u003e intake run -c -a -t 1 echo hello world\n    2e993bdb7b2d @4000000051b609a41cf78cdc hello world\n\n    \u003e intake run -c -a -t 0 echo hello world\n    2e993bdb7b2d Timed out.\n\nIndividual commands can be given short names with the `define` sub-command:\n\n    \u003e intake define -c greetings echo hello world\n    \u003e intake run greetings\n    2e993bdb7b2d  2e993bdb7b2d8f01522e30cdfbb2a58f7ca663b5e54ba3f1b46b30305e70332a\n\n### Running workflows\n\nIn addition to running individual commands, `intake` can run multiple commands\narranged in workflows. For instance, it is possible to run two or more commands\nsequentially or in parallel. If a command fails, `intake` can be instructed to\nretry it a few times, or to continue with the rest of the workflow, ignoring\nthe failure.\n\nWe saw above that commands can be given on the command-line or aliased with the\n`define` sub-command. Workflows can also be aliased but must be given by file:\n\n    \u003e intake run -f workflow.txt\n    2e993bdb7b2d  2e993bdb7b2d8f01522e30cdfbb2a58f7ca663b5e54ba3f1b46b30305e70332a\n\nor\n\n    \u003e intake define work workflow.txt\n    \u003e intake run work\n    2e993bdb7b2d  2e993bdb7b2d8f01522e30cdfbb2a58f7ca663b5e54ba3f1b46b30305e70332a\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoteed%2Fintake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnoteed%2Fintake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoteed%2Fintake/lists"}