Pergunta

Estou tendo um pequeno problema e tenho certeza de que há uma maneira mais conveniente/mais simples de alcançar a solução, mas todas as pesquisas são lançadas em espaços em branco no momento!

Eu tenho um db MySQL que é atualizado regularmente pela página PHP [através de um trabalho de cron] Isso adiciona ou exclui entradas conforme apropriado.

Meu problema é que eu também preciso verificar se algum detalhe [ou seja, o número de telefone ou similar] para a entrada mudou, mas fazer isso em cada chamada não é possível [não apenas parece que me parece um exagero, mas estou Restrito por um limite de chamada da API de terceiros] além disso, isso não é informação crítica.

Então, eu estava achando que seria melhor verificar uma entrada por chamada de página e iterar através das linhas/inteiras a cada chamada de página sucessiva.

Qual seria a melhor maneira de fazer isso, ou seja, acompanhando qual entrada/linha na tabela que deve ser verificada a seguir?

Eu tenho duas idéias de como implementar isso:

1) O ID da linha atual pode ser salvo em um arquivo no servidor [certamente não é a melhor maneira

2) Um campo booleano extra [verificação] é adicionado à tabela, definido como true na primeira entrada e false para todos os outros. Então, em cada página, ligue para isso; Encontra 'onde check = true' executa a verificação de atualização nesta linha, 'define check = false' 'set [a próxima linha] check = true'

Si é a melhor maneira de fazer isso, ou alguém tem uma sugestão melhor?

desde já, obrigado !

.k

PS Desculpe pelo título

Nenhuma solução correta

Outras dicas

fluxo de trabalho sequencial

Um fluxo de trabalho seqüencial representa uma série de etapas. As etapas são realizadas uma após a outra até que a última atividade seja concluída. Os fluxos de trabalho seqüenciais são sempre estritamente sequenciais em sua execução. Porque eles podem receber eventos externos e incluir fluxos lógicos paralelos, a ordem exata da execução pode variar. A ilustração a seguir mostra um exemplo de um fluxo de trabalho seqüencial.

Digite a descrição da imagem aqui

O processo seqüencial ficará assim: Digite a descrição da imagem aqui

fluxo de trabalho da máquina de estado

Um fluxo de trabalho da máquina de estado representa um conjunto de estados, transições e ações. Os passos em um fluxo de trabalho da máquina de estado são executados de forma assíncrona. Isso significa que eles não são necessariamente realizados um após o outro, mas são acionados por ações e estados. Um estado é atribuído como estado de início e, em seguida, com base em um evento, uma transição é feita para outro estado. A máquina de estado pode ter um estado final que determina o final do fluxo de trabalho. O diagrama a seguir mostra um exemplo de um fluxo de trabalho de máquina de estado.

Digite a descrição da imagem aqui

O processo de máquina de estado será: Digite a descrição da imagem aqui

Links referenciados

MSDN Link

https://www.nothingbutsharepoint.com/sites/eusp/pages/sharepoint-state-machine-or-sequencial-workflows-what-is-the-future-of-Business-Processes. aspx

Você pode armazenar o registro de data e hora em que uma linha é atualizada implicitamente usando na atualização current_timestamp [http://dev.mysql.com/doc/refman/5.0/en/timestamp.html ou explicitamente na sua atualização SQL. Então, tudo o que você precisa fazer é selecionar a (s) linha (s) com o menor registro de data e hora (usando a ordem e limite) e você terá a próxima linha para processar. Contanto que você garanta que o registro de data e hora seja atualizado a cada vez.

Por exemplo, diga que você usou o campo Last_polled_on Timestamp para armazenar o tempo em que você pesquisou uma linha. Sua inserção parece:

INSERT INTO table (..., last_polled_on) VALUES (..., NOW());

Sua atualização se parece:

UPDATE table SET ..., last_polled_on = NOW() WHERE ...;

E sua seleção para a próxima linha para fazer a pesquisa parece:

SELECT ... FROM table ORDER BY last_polled_on LIMIT 1;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top