xpeppers / trackerbot

Our serverless time tracking bot
https://www.xpeppers.com
8 stars 5 forks source link

First command wakes up bot and fails #31

Open daniele-xp opened 7 years ago

daniele-xp commented 7 years ago

Al primo comando lanciato della giornata, la richiesta fallisce quasi sempre a causa della lambda function di aws dormiente:

Darn - that slash command didn’t work. If you see this message more than once we suggest you contact @ettoredelprino>

Il problema è molto probabilmente quello spiegato qui: https://claudiajs.com/tutorials/slack-delayed-responses.html

La richiesta viene mandata da slack a claudiajs (che è la lambda), che però è molto più lento del solito causa wake up (i comandi successivi all'errore infatti sono veloci e non scatenano l'errore). La lambda lascia quindi in attesa slack che ha un timeout sugli slash command di (pare) 3 secondi e ritorna l'errore per mancata risposta.

In realtà, il comando che scatena l'errore, viene correttamente eseguito in asincrono (controllando infatti i track vengono eseguiti correttamente), però la risposta che viene fornita da claudiajs/lambda oramai non viene più intercettata e ritornata da slack all'utente.

Nel link di sopra vi è spiegata una possibile soluzione, ma non mi convince molto. Probabilmente è possibile impostare il timeout degli slash commands di slack; basterebbe aumentarlo di poco.

ilbonte commented 7 years ago

Dalla documentazione slack: https://api.slack.com/slash-commands#responding_to_a_command

Delayed responses and multiple responses If you want to provide additional command response messages, or if you're unable to immediately respond to a command within 3000 milliseconds, use the specific response_url we send with our initial execution of your URL to respond to a command at your leisure. With this approach, you can respond to a user's command up to 5 times within 30 minutes of the command's invocation.

daniele-xp commented 7 years ago

@ilbonte scoperto niente su questo? provato qualcosa?

ilbonte commented 7 years ago

Non ho investigato ulteriormente