Página 3 de 3

Enviado: 10 Jan 2008 11:23
por lucimauro
Gente pelo que sei e faco nao precisa renomear quando o servidor e terminal é win Xp, voce simplimente pode chegar no servidor ou terminal e mandar substituir o arquivo executavel.e para que os usuaros recebao as atualizao so é nescessario que eles saio do sistema e entre novamente.

Enviado: 10 Jan 2008 11:27
por sygecom
lucimauro escreveu:Gente pelo que sei e faco nao precisa renomear quando o servidor e terminal é win Xp, voce simplimente pode chegar no servidor ou terminal e mandar substituir o arquivo executavel.e para que os usuaros recebao as atualizao so é nescessario que eles saio do sistema e entre novamente.
Isso eu fazia quando usava CLIPPER com BLINKER. Quando o .EXE era 16Bits, não sei pq mas aceitava mesmo ! agora em xharbour(32Bits) não aceita.

Enviado: 10 Jan 2008 11:45
por Maligno
Com semáforos pode-se fazer manutenção perfeitamente, sem esse tipo de problema.

Enviado: 10 Jan 2008 11:56
por MARCELOG
Peraí gente!
O cara quer criar índices e db(f)s ou atualizar o sistema, trocando o executável por um mais novo?

MarceloG

Enviado: 10 Jan 2008 14:19
por ederxc
MARCELOG escreveu:Peraí gente!
O cara quer criar índices e db(f)s ou atualizar o sistema, trocando o executável por um mais novo?

MarceloG

É a coisa flui !

Maligno, que lance é esse de semafaros que voce esta falando ! :|<

Enviado: 10 Jan 2008 16:35
por Pablo César
Eu acredito que o Maligno refere-se a criar um arquivo com o nome de PARATUDO.SYS por exemplo. Como disse o colega Marcelo, você tenta abrir DBF em modo exclusivo, se conseguiu é porque ninguém está acessando e se alguém tentar entrar, dará uma mensagem "Sistema em manutenção, aguarde..." Mas para isso deve ser feito uma rotina de manutenção que crie esse arquivo (MEMOWRIT("PARATUDO.SYS","") e colocar no início do sistema:

IF FILE("PARATUDO.SYS")
MENSAGEM("Sistema em manutenção, aguarde...")
inkey(5)
quit
ENDIF

Essa é a minha opinião para realizar alguns procedimentos que requerem a saída de todos no sistema.

Enviado: 10 Jan 2008 18:12
por Maligno
ederxc escreveu:Maligno, que lance é esse de semafaros que voce esta falando ! :|<
É basicamente o que Pablo comentou. Dá pra fazer um monte de coisas com semáforos e arquivos de comunicação. Até processamento distribuído. É só usar a imaginação.

Enviado: 10 Jan 2008 18:52
por Hasse
Boa tarde companheiros. (não os do Lula, evidente. rss, rss...)

Também desejo compartilhar como eu faço a substituição dos executáveis, no servidor.

Eu também mantenho UM só executável no servidor. Já fiz várias outras tentativas, e no meu caso, ainda é a melhor solução.

Para não haver problemas com a substituição, eu crio um BAT em cada terminal, que faz uma cópia do executável do Servidor para o terminal, e a seguir arquivo é executado.

Desta forma todos estão sempre com a última versão, e eu não me preocupo com negativas de acesso para gravar a nova versão. E funciona muito bem. A grande maioria dos usuários nem percebe que alguma coisa mudou.

Enviado: 10 Jan 2008 22:33
por alaminojunior
Já que estamos falando de xHarbour e aproveitando a dica do Maligno, vejam só:
Existe uma função em xHarbour que coloca rotinas em background de n em n milisec´s ( lembram da ontick() ).
Então pensei.... ( eu também faço isso )

deixar esta rotina em back, quando ela detectar o arquivo EXENOVO.EXE na pasta, emite um aviso "Este computador se autodestruirá em n segundos, corra enquanto pode !!!" Aquelas coisas de filme de ficção.

passado estes n segundos, todos os arquivos são fechados e o sistema é encerrado.

Em Clipper precisaria ser bem estudado, pois dependeria do fluxo das operações, porém em xHarbour, independe de onde esteja parado o sistema.

Mais alguma sugestão ?

Enviado: 10 Jan 2008 23:29
por asimoes
Aproveitando a idéia do Pablo, quando o arquivo paratudo.sys existir na pasta de dados do sistema, após o último DBUNLOCK(), Caso o usuário esteja incluindo, alterando, deletando registro, uma função exemplo: Em_Manutencao() que verifica a existencia do arquivo e retorne um lógico, caso retorne .t., manda uma mensagem pro usuário sair ou dali mesmo encerra a aplicação. E caso o usuário tente entrar o controle já estaria na entrada do aplicativo. Simples como matar barata. Pode-se usar a função KEYSEC()


SET KEY -9 TO CHECA

KEYSEC(-9,60,- 1,.T.)

A cada minuto o keysec dispara a tecla f10 que por sua vez executa a função checa.


:)Pos