{"id":19607123,"url":"https://github.com/robocorp/template-producer-consumer","last_synced_at":"2025-02-26T16:44:44.494Z","repository":{"id":45577233,"uuid":"426997602","full_name":"robocorp/template-producer-consumer","owner":"robocorp","description":"Robot template for producer-consumer model using Robot Framework","archived":false,"fork":false,"pushed_at":"2024-12-09T06:27:31.000Z","size":46,"stargazers_count":1,"open_issues_count":0,"forks_count":5,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-01-09T09:26:23.074Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"RobotFramework","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/robocorp.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-11T12:44:15.000Z","updated_at":"2024-12-09T06:27:35.000Z","dependencies_parsed_at":"2024-05-20T13:36:30.964Z","dependency_job_id":"e3d4a254-7dcf-4207-a895-f2ff60bc7453","html_url":"https://github.com/robocorp/template-producer-consumer","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/robocorp%2Ftemplate-producer-consumer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocorp%2Ftemplate-producer-consumer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocorp%2Ftemplate-producer-consumer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocorp%2Ftemplate-producer-consumer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robocorp","download_url":"https://codeload.github.com/robocorp/template-producer-consumer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240895020,"owners_count":19874913,"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-11T10:08:59.543Z","updated_at":"2025-02-26T16:44:44.469Z","avatar_url":"https://github.com/robocorp.png","language":"RobotFramework","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Template: Robot Framework - Producer-Consumer\n\nThis template contains a working robot implementation that has the basic structure where one part produces work items from input and another part that consumes those work items.\n\n\u003e The [producer-consumer](https://en.wikipedia.org/wiki/Producer%E2%80%93consumer_problem) model is not limited to two steps, it can continue so that the consumer generates further work items for the next step and so on.\n\nThe template tries to keep the amount of functional code at a minimum so you have less to clear out and replace with your own implementation, but some functional logic is needed to have the template working and guiding the key parts.\n\n\u003e We recommended checking out the article \"[Using work items](https://robocorp.com/docs-robot-framework/development-guide/control-room/work-items)\" before diving in.\n\n## Tasks\n\nThe robot is split into two tasks, meant to run as separate steps in Control Room. The first task generates (produces) data, and the second one reads (consumes) and processes that data.\n\n### The first task (the producer)\n\n- Load the example Excel file from work item\n- Splits the Excel file into work items for the consumer\n\n### The second task (the consumer)\n\n\u003e We recommended checking out the article \"[Work item exception handling](https://robocorp.com/docs-robot-framework/development-guide/control-room/work-items#work-item-exception-handling)\" before diving in.\n\n- A simulated \"Login\" step.\n  - This simulates random failures to highlight the use of `APPLICATION` -exception type.\n- Loop that handles the work items and just creates a logs row for each\n  - This simulates random failures to highlight the use of `BUSINESS` -exception type.\n\n### Local testing\n\nFor best experience to test the work items in this example we recommend using [our VS Code extensions](https://robocorp.com/docs-robot-framework/developer-tools/visual-studio-code). With the Robocorp Code extension you can simply run and [select the input work items](https://robocorp.com/docs-robot-framework/developer-tools/visual-studio-code/extension-features#using-work-items) to use, create inputs to simulate error cases and so on.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobocorp%2Ftemplate-producer-consumer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobocorp%2Ftemplate-producer-consumer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobocorp%2Ftemplate-producer-consumer/lists"}