Urgente Problema com find no webspeed

Discussão em 'WebSpeed' iniciado por Gilberto Gomes Junior, Setembro 19, 2014.

  1. Gilberto Gomes Junior

    Gilberto Gomes Junior Sem Pontuação

    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
  2. Agnaldo

    Agnaldo Membro Ativo

    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).
    jeanhype curtiu isso.
  3. Gilberto Gomes Junior

    Gilberto Gomes Junior Sem Pontuação

    Obrigado pelo retorno Agnaldo.

    Fiz o teste com o parâmetro -rereadnolock e obtive sucesso.

    Muito obrigado pela ajuda.

Compartilhe esta Página