-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add hooks for new assembly and warehouse service to listen on #68
Comments
Some high level overview and discussion ServicesFulfillment service
Assembly
Startup process and keeping "picked" status in databaseless system:
Warehouse
Part picking web interface:
EventsNew Build Created
Fields:
Build Updated
Fields are same as above. Only diff tracking we really need is the list of components Build DeletedSame steps as above except if a build has been deleted due to the diff, we emit this message. Same fields as above. Really only care about the build ID. Build built
Inventory purchase order parts receivedThis one has multiple receivers that have not all been written yet, so it includes future planning.
Fields:
Inventory parts pickedThis one has multiple receivers.
Fields:
Inventory part changedThis one is useful for when an item gets RMAed or manually set to a build (via samwise). A couple of different things can happen here.
Fields:
Component kit changeThis one is pretty simple and just emits when a kit has changed for a component. Needed for warehouse to recalculate component availability levels. Fields:
|
Looking at this we have 2 possible prerequisites to get these events working:
This is currently handled with a new part create endpoint and then a purchase order close endpoint in many requests. Possible work around is to fake an "Inventory purchase order received" event for every part http request. We can then update the code to send all at once when we port the PO receiving logic to Lcars.
This is handled as a part update endpoint for every part picked on a build. This can possibly be worked around by doing a "parts picked" event for every request that edits the location and build_id. Just to be clear, the reason these two events exist vs just a regular "part updated" event is because it handles parts in bulk. |
Inventory purchase order received event can be ignored for now. Hal is already broadcasting a part created event, that we just need to integrate into warehouse. Later down the road, we will be replacing that event with a full PO received event to make this communication more efficient for the http client. Part created handling was fixed in warehouse system76/warehouse@2a2d03f |
Alright, the Shows all green in production ✔️ |
At this point, all build events have been implemented in hal and assembly service. |
We are integrating two new systems,
assembly
andwarehouse
. Both need to know what happens in the outside world in order to update their internal data. This information will be handled async with rabbitmq and bottle messages.Sub tasks:
Add hook for build deleted #71Add hook for inventory purchase order parts received #72Add hook for inventory parts picked #73The text was updated successfully, but these errors were encountered: