Com o uso cada vez mais frequente de múltiplos servidores e processamento em lote, problemas que somente ocorrem quando tarefas específicas rodam em paralelo se tornam cada vez mais prováveis de acontecer.
Nesta palestra Marcos fala sobre algumas limitações de concorrência do Rails que você precisa conhecer, incluindo por que você nunca deve confiar no Rails para checar por não-duplicação (unicidade), por que MySQL não consegue fazer trava otimista por padrão e como corrigí-lo, como escolher entre travas otimistas e pessimistas, como processos paralelos podem causar "deadlocks" mesmo que você não esteja usando travas, por que você nunca deve ter atributos serializados em registros que podem ser editados em paralelo, e quando o rails pode concluir suas transações antes de ela terminar caso seu processo multi-threaded seja finalizado e como prevení-lo de deixar seu banco de dados em um estado inconsistente.


patrocinadores





















