loop_workflow.json 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. {
  2. "version": "3.6",
  3. "name": "Batch Processing Workflow",
  4. "registry": {
  5. "services": [
  6. "ProcessItem(item(OBJECT)) RETURN processed(OBJECT), success(BOOL)"
  7. ],
  8. "components": [],
  9. "vars": [
  10. "$items([OBJECT])",
  11. "$results([OBJECT])",
  12. "$successCount(INT)"
  13. ],
  14. "files": {
  15. "inputs": [
  16. "Process/Input/items.json"
  17. ],
  18. "artifacts": [
  19. "Process/Artifacts/*"
  20. ]
  21. }
  22. },
  23. "steps": [
  24. {
  25. "id": "Set_InitResults",
  26. "target": "$results",
  27. "value": "[]",
  28. "next": "Set_InitCount"
  29. },
  30. {
  31. "id": "Set_InitCount",
  32. "target": "$successCount",
  33. "value": "0",
  34. "next": "Loop_ProcessItems"
  35. },
  36. {
  37. "id": "Loop_ProcessItems",
  38. "mode": "parallel",
  39. "source": "$items",
  40. "children": ["Service_ProcessItem"],
  41. "next": "Write_Summary"
  42. },
  43. {
  44. "id": "Service_ProcessItem",
  45. "in": {
  46. "item": "_item"
  47. },
  48. "out": {
  49. "$results[_index]": "_result.processed"
  50. },
  51. "next": "Write_ItemResult"
  52. },
  53. {
  54. "id": "Write_ItemResult",
  55. "target": "\"Process/Artifacts/item_\" + _index + \".json\"",
  56. "value": "_item",
  57. "mode": "overwrite"
  58. },
  59. {
  60. "id": "Write_Summary",
  61. "target": "\"Process/Artifacts/summary.json\"",
  62. "value": "$results",
  63. "mode": "overwrite",
  64. "next": "Stop_End"
  65. },
  66. {
  67. "id": "Stop_End"
  68. }
  69. ]
  70. }