Boa tarde a todos, Estou tendo um problema bem sério na utilização do webspeed. Tenho um ambiente de consulta em webspeed. No qual entro com uma informação e o webspeed me retorna se esta tal informação esta Bloqueada ou Desbloqueada. Minha aplicação tem apenas um find first pra buscar esse status. Porem, esta acontecendo algo muito estranho, Quando é feito o primeiro find, é como se ficasse esse resultado na memoria do progress, pois mesmo tendo esse status de Bloqueado alterado para Desbloqueado( ou vice versa) , nada ocorre. É como se o find ainda me retornasse Bloqueado para um item que no banco de dados esta Desbloqueado. Ou seja, ele le apenas a primeira vez e não faz o find novamente ao atualizar a pagina. Tal status só se altera se eu reiniciar o ambiente webspeed, parando o serviço e startando novamente.É como se o find ficasse permanentemente no record buffer. Não o atualizasse. Existe algum parâmetro do webspeed que eu deva alterar para não haver este "cache"? minha configuração do webspeed esta assim: queueLimit: 0 srvrLogFile: @{WorkPath}\TOTVS11.server.log srvrStartupParam: -p web\objects\web-disp.p -weblogerror -pf \\192.168.2.7\erp\scripts-8080\datasul_webspeed.pf applicationURL: description: WebSpeed Broker brkrNumLogFiles: 3 fileUploadDirectory: mqSrvrNumLogFiles: 3 certStorePath: @{Startup\DLC}\certs\ defaultService: 0 keyStorePath: @{Startup\DLC}\keys\ registrationRetry: 30 srvrSelectionScheme: 0 controllingNameServer: NS1 classMain: com.progress.ubroker.broker.ubroker userName: operatingMode: Stateless srvrLogAppend: 1 mqSrvrLogEntries: 0 mqBrkrLogAppend: 1 infoVersion: 9010 srvrLoggingLevel: 2 debuggerEnabled: 0 brkrLogEntryTypes: UBroker.Basic srvrLogEntryTypes: DB.Connects minSrvrInstance: 1 srvrNumLogFiles: 3 keyAliasPasswd: autoTrimTimeout: 1800 mqBrkrLoggingLevel: 2 sslAlgorithms: brkrLogEntries: 0 brkrLogThreshold: 0 ipver: IPv4 maxClientInstance: 512 mqBrkrLogEntryTypes: UBroker.Basic mqSrvrLoggingLevel: 2 srvrMaxPort: 3502 mqSrvrLogEntryTypes: UBroker.Basic appserviceNameList: TOTVS11 flushStatsData: 255 brokerLogFile: @{WorkPath}TOTVS11.broker.log groupName: actionalGroup: OpenEdge registrationMode: Register-IP srvrExecutionTimeLimit: 0 sessionTimeout: 180 hostName: mqBrkrLogEntries: 0 connectingTimeout: 60 workDir: \\192.168.2.7\erp\_ValfilmMG\Web srvrLogWatchdogInterval: 60 srvrMinPort: 3202 PROPATH: @{WinChar Startup\PROPATH};@{WorkPath} noSessionCache: 1 mqSrvrLogAppend: 1 requestTimeout: 15 registerNameServer: 1 keyAlias: default_server defaultCookiePath: srvrLogThreshold: 0 mqEnabled: 0 sslEnable: 0 srvrStartupTimeout: 3 portNumber: 4055 4glSrcCompile: 0 jvmArgs: brkrSpinInterval: 3000 srvrExecFile: "@{Startup\DLC}\bin\_progres.exe" defaultCookieDomain: brkrLogAppend: 1 actionalEnabled: 0 mqBrkrLogThreshold: 0 srvrAppMode: Development initialSrvrInstance: 1 maxSrvrInstance: 10 uuid: a799a8a94373f7b2:-acdf11b:1439502d9cc:-7549 priorityWeight: 0 keyStorePasswd: password: environment: TOTVS11 serverLifespan: 0 mqBrkrNumLogFiles: 3 mqSrvrLogThreshold: 0 wsRoot: /webspeed102B collectStatsData: 1 autoStart: 1 srvrLogEntries: 0 mqServerLogFile: @{WorkPath}\TOTVS11.mqserver.log allowRuntimeUpdates: 0 binaryUploadMaxSize: 0 srvrDebug: Enabled serverLifespanPadding: 5 brkrLoggingLevel: 2 mqBrokerLogFile: @{WorkPath}\TOTVS11.mqbroker.log e meu pf esta somente com esses parametros: -T C:\temp -Mm 8192 -h 30 Alguem já passou por isso? Desde já muito obrigado. Att, Gilberto Junior
Note teu .pf, use o parâmetro "rereadnolock". Ajuda a evitar cache (do lado Progress). Por favor, veja o help sobre ele. Outra coisa, agora do lado web, é o cache do servidor web. Alguns macetes aqui são: No programa Progress, gera os headers apropriados para evitar o cache. No caso, podes usar: Código: output-http-header("Pragma","no-cache"). output-http-header("Cache-Control","no-cache"). output-http-header("Expires","0"). Não esqueça que tais chamadas devem ser feitas "antes" do output-content-type. No caso de programas cgi-wrapper voce coloca o output-content-type. Se voce estiver usando Speedscript (output-content-type é gerado automático e voce não tem controle dele) faça isso montando uma procedure output-headers, tal como abaixo. Código: <script language="SpeedScript"> PROCEDURE output-headers: OUTPUT-HTTP-HEADER("Pragma", "no-cache"). OUTPUT-HTTP-HEADER("Cache-Control", "no-cache"). OUTPUT-HTTP-HEADER("Expires","0"). END. </script> Outro macete que o povo usa para evitar cache do servidor web é gerar um parametro "time" na url, assim ela sempre será diferente e o servidor irá considerar ela como nova. Algo assim: Código: {&out} 'http://teuServidor....../teuPrograma.p?cliente=' codcli '&tempo=' STRING(TIME). Dessa forma, a URL sempre será diferente, pos terá sermpre um parametro diferente (o time no caso).
Obrigado pelo retorno Agnaldo. Fiz o teste com o parâmetro -rereadnolock e obtive sucesso. Muito obrigado pela ajuda.