developit / developit/task-worklet
Long running tasks
- Linguagem predominante
- JavaScript
- Estrelas
- 278
- Forks
- 4
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
The `postTask` API is request/response based, and as such doesn't have a natural fit for long running tasks. How do you see such tasks fitting into the model?
For example, let's say I had a worklet which connects to a chat service (via http2 or websocket) and receives chat messages. Currently you could poll the worklet for the next message like so:
```js
const queue = new TaskQueue();
async function run() {
await queue.addModule('/chat-worklet.js');
while(true) {
const task = queue.postTask('nextMessage');
const message = await task.result;
addChatMessageToList(message);
}
}
run();
```
I guess this is ok but it also doesn't seem ideal to me. I think it would make the worklet side more complex in a lot of cases (you might have to keep some global state to know which messages have been sent to which requester).
It would be nice if tasks could also return a stream or something, so that you could use `for/of` to await each message.
Guia de contribuição
Direção de pesquisa
Comece pela API postTask e pelo exemplo de polling nesta issue. Compare o comportamento proposto de stream ou for/of com o modelo atual de request/response, incluindo como conexões de longa duração e o estado do requester seriam tratados. Considera-se concluído quando o projeto tiver uma abordagem acordada para tarefas de longa duração; nenhum arquivo ou teste é mencionado na issue.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- javascript
- Domínio
- web-dev
- Tipo de issue
- Funcionalidade
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Status de atividade
- Estagnada
- Clareza
- Precisa de esclarecimento
- Facilidade para iniciantes
- 25/100