Migrated from GitLab wiki

rob
2026-06-29 09:04:47 +00:00
parent 13e69d866b
commit 8fd606b720
+13
@@ -0,0 +1,13 @@
## First let's try to understand how Pick and Pack flow works thoroughly
- Select shipments to Process through EasyPost and generate Labels
- After submission code executes one command-line bin/pms3 bg create print-job
- After executing the above command, the system tracks its Process ID, and code redirects users to another page where that Process ID is passed to page named bg-monitor where the progress bar displays, This page is only to display progress bar, nothing is happening in that page. That progress bar fetches the status of progress from Redis key/value pairs.
- The command which is executed on the second line mainly works behind the scene to create print-jobs and keeps updating the status in Redis which is displayed on the progress bar.
- When command executes in the background, it further calls a Background Task GeneratePickListTask and all required services are passed as parameters to that task. Following is the code snippet of same.
```plaintext
$task = new GeneratePickListTask($redis, $em, $shipmentLifecycle, $printService);
```
- Generate PickList has one Method name run, which executes and actually updates the status inside the Redis. This Run method further calls Services required for the specific task in this case it is calling makeLabelForShipment from labelGenerator Service.