{"id":19224040,"url":"https://github.com/simbiose/puraki","last_synced_at":"2026-07-03T05:33:06.984Z","repository":{"id":74280496,"uuid":"14408452","full_name":"simbiose/puraki","owner":"simbiose","description":"a simple and basic workers manager","archived":false,"fork":false,"pushed_at":"2013-11-24T04:31:00.000Z","size":120,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-30T16:51:02.460Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simbiose.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-11-14T22:11:27.000Z","updated_at":"2013-11-24T04:31:05.000Z","dependencies_parsed_at":"2023-02-22T12:25:39.573Z","dependency_job_id":null,"html_url":"https://github.com/simbiose/puraki","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/simbiose/puraki","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simbiose%2Fpuraki","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simbiose%2Fpuraki/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simbiose%2Fpuraki/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simbiose%2Fpuraki/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simbiose","download_url":"https://codeload.github.com/simbiose/puraki/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simbiose%2Fpuraki/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35074225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-03T02:00:05.635Z","response_time":110,"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":[],"created_at":"2024-11-09T15:10:18.907Z","updated_at":"2026-07-03T05:33:06.965Z","avatar_url":"https://github.com/simbiose.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# summary\n\npuraki is a worker(s) manager written in pure [Lua](http://www.lua.org/) on top of [Luvit](http://luvit.io/).\n\n# WTF puraki means?\n\npuraki means \"to work\" in [nheengatu](http://en.wikipedia.org/wiki/Nheengatu_language)\n\n# help and support\n\nplease fill an issue or help it doing a clone and then a pull request\n\n# license\n\n[BEER-WARE](http://en.wikipedia.org/wiki/Beerware), see source\n  \n# basic usage\n\n```lua\n\n    local worker, set_timeout = \n      require('puraki').new(), require('timer').setTimeout\n\n    worker.parallel = 20\n    worker.interval = 1000\n\n    -- each task is a closure, configure metadata, return a task to do, ...\n    worker:task(\n      function(this, meta)\n\n        meta.ttl   = 0\n        meta.times = 0\n\n        local function task(metadata)\n          metadata.times = metadata.times + 1\n          p(metadata.task, metadata.times)\n\n          return (metadata.times \u003e metadata.task)\n        end\n\n        return task\n      end)\n\n    worker:run()\n\n    set_timeout(2000, function()\n        p('stop queue')\n        worker:stop()\n      end)\n\n    set_timeout(4000, function() \n        p('resume queue')\n        worker:resume()\n      end)\n```\n\n# test\n\n... in progress\n\n# TODO\n\n+ \"kill\" coroutines when idle, simulate error\n+ create a test suite\n+ create a rockspec\n+ create a wiki?\n\n% November 16th, 2013 -03 GMT","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimbiose%2Fpuraki","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimbiose%2Fpuraki","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimbiose%2Fpuraki/lists"}