Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

murtceps

[Resolvido] Tratar concorrencia de dados

Recommended Posts

Ola,

 

Pessoal estou com o seguinte problema......

 

Tenho um formulario que o usuário faz o envio e existe um outro formulario que eu posso fazer a consulta dos mesmos..... no entanto, quando faço a consulta com alguem enviando os dados eu tenho perda das informações. Existe alguma verificação no zend para tratar a concorrencia.

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual banco está usando? está usando PDO ?

 

geralmente para tratar a concorrência se usa Transações no banco, mas aí no caso acho que seria mais para duas inserções concorrentes.

 

já tentou dar um LOCK na tabela?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resposta para o Daniel Ribeiro

 

A idéia é a seguinte.....

Tenho um formulário na Internet para um usuário comum fazer seu cadastro com nome, email, telefone, etc.....

 

Eu Administrador, tenho uma listagem que mostra os dados enviados pelo usuário comum. Nesta listagem é exibido todos os cadastros que foram enviados pelos usuários comuns...... Isso é o que esta implementado.

 

O envio dos dados é feito corretamente, os dados são inseridos corretamente, a listagem para exibir a informação do usuário comum esta correto.

 

Ai resolvi fazer fazer um teste com dois PCs um enviando e outro visualizando.... Na hora que o envio foi feito, eu Administrador, listei os itens dos usuários comuns para ver se os dados viriam todos certos..... no caso não veio....... Com isso fiz vários testes e percebi que hora vinha um campo não preenchido hora vinha outro campo não preenchido...... pois de muitos testes resolvi fazer um teste onde eu esperasse um pouco para fazer a visualização e para minha supresa os dados foram enviados corretamentes. Assim, executei mais testes similares como o último citado e foram iguais.

Então creio que, o que pode estar ocorrendo e a concorrencia dos dados..... Acredito que deva estar bem explicado.....

 

Resposta para o Lucas Renan

 

Cara estou usando o mysql. Sim, estou usando PDO.

 

Estou usando também beginTransaction e commit

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa, isso é muito estranho mesmo estar acontecendo. Pelo que estou vendo é mais coisa de banco do que do próprio framework. Porque mesmo quando você ta usando transações o mysql não deveria dar um lock na tabela (e sim somente no registro, quando se esta usando tabelas innodb).

Neste caso o lock no registro é feito, porém somente para escreita, para leitura pode-se ler normalmente.

Verifique, se os locks de registros estão sendo feitos corretamente (não sei como verificar isso, mas acredito que o seu problema esteja mais relacionado a banco do que com o zend framework)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou dar uma olhada no banco...... volta a responder.....

 

Mais um detalhe, talvez faça alguma diferença, estou usando uma integração com o flash, para o formulário de envio dos dados.

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi muito bem, mas vamos ver se consigo explicar...

 

O formulário de cadastro é feito no flash e faço da seguinte forma:

Registro os dados: nome, telefone e email (crio o registro no banco). Após ter feito isso faço os 4 uploads, mas para cada upload tenho uma alteração no registro criado, então sera feita 4 alterações no registro. Isto é como os dados são gravados.

 

Acredito que seja isso que queria saber....

 

Aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.