Hi,
I'm doing a POC to see if I can process slack events as a two step process
- receive events, write slack events/actions into a MQ
- process events out of a message queue, perform actions
I have it working (for the most part) with the two parts being:
- a proxy setup with a regular adapter (tested with flask and socket_mode) and an
app.middleware that takes the request, writes it to the queue, then returns a BoltResponse
- a custom adapter - that polls for messages off the queue and converts them into BoltRequest objects
All of this is working as a POC. however, I am seeing issues with handling events/actions asynchronously, given the synchronous nature of ack during request/resp.
I can get ack working if I have my proxy (part 1 from above) return a bolt response with 200 status code and an empty body. I think this is fine for me to handle acknowledgments simply as "yes we have received and written to our queue".
However, decoupling receipt of data from slack with the data processors doesn't seem to work well for cases where you need to pass extra data to the ack method (like examples from the documentation where you pass ack(resonse_action='update').
is there a way to perform ack completely async from the request that will work both in web server and socket modes (ie: something like an ack API method that accepts a trigger-id)?
The slack_bolt version
slack-both=1.9.2
Hi,
I'm doing a POC to see if I can process slack events as a two step process
I have it working (for the most part) with the two parts being:
app.middlewarethat takes the request, writes it to the queue, then returns a BoltResponseAll of this is working as a POC. however, I am seeing issues with handling events/actions asynchronously, given the synchronous nature of ack during request/resp.
I can get ack working if I have my proxy (part 1 from above) return a bolt response with 200 status code and an empty body. I think this is fine for me to handle acknowledgments simply as "yes we have received and written to our queue".
However, decoupling receipt of data from slack with the data processors doesn't seem to work well for cases where you need to pass extra data to the ack method (like examples from the documentation where you pass
ack(resonse_action='update').is there a way to perform ack completely async from the request that will work both in web server and socket modes (ie: something like an ack API method that accepts a trigger-id)?
The
slack_boltversionslack-both=1.9.2