Duvida AppServer: Persistent ou Non-Persistent

Discussão em 'Progress 4GL' iniciado por lhp.s, Junho 30, 2015.

  1. lhp.s

    lhp.s Membro Participativo

    Boa tarde senhores,
    Estou criando diversas rotinas para serem consumidas via appserver.
    Show de bola, o ganho e otimização... rapi10

    Bom, minha duvida é sobre o tipo de conexão (Persistent ou Não Persistent).
    Conheço a diferença entre a duas, mas não consegui visualizar aqui no appserver,
    nem qual a melhor opção. Podem me ajudar? Gostaria de entender como é
    o funcionamento dessas conexões no App.

    Valeu!!!


    Código:
    create server appSrv.
    assign appRetorno = appSrv:connect("-AppService datasul -H 192.168.1.40 -S 5162","xxxx","xxxx) no-error.
    run methods/atualizacaoCreditoMain.p persistent on appSrv
      (input  yes,
      input  pUser,
      input  pPasswd,
      input-output table tt_logon,
      input-output table ttParams).
    
  2. jaisonantoniazzi

    jaisonantoniazzi Membro Ativo

    Bom dia @lhp.s
    a vantagem é que as procedures internas, do teu programa atualizacaoCreditoMain.p, serão executadas no servidor.
    Simples assim, e com todas as vantagens e agilidade que um servidor pode conceder.
  3. lhp.s

    lhp.s Membro Participativo

    Oi @jaisonantoniazzi
    Em relação a performance eu sei....

    Minha duvida é em relação Persistent e Não Persistent.

    run methods/atualizacaoCreditoMain.p persistent on appSrv ou
    run methods/atualizacaoCreditoMain.p on appSrv

  4. joelscampos

    joelscampos Membro Participativo

    Você perguntou:
    ...


    Não sei se entendi direito, mas segue abaixo alguma coisa...
    Se não for isso, passa um exemplo uma situação em que aparece a dúvida.


    1)
    Sintaxe para chamada Persistent é:
    Código:
    run "methods/atualizacaoCreditoMain.p" PERSISTENT SET handle-programa on appSrv.
    
    run "procedureInterna" IN handle-programa 
    (input  yes,
      input  pUser,
      input  pPasswd,
      input-output table tt_logon,
      input-output table ttParams).
    
    appSrv:DISCONNECT().
    DELETE OBJECT appSrv.
    
    
    2)
    Sintaxe para não persistent:
    Código:
    run methods/atualizacaoCreditoMain.p on appSrv
      (input  yes,
      input  pUser,
      input  pPasswd,
      input-output table tt_logon,
      input-output table ttParams).
    
    appSrv:DISCONNECT().
    DELETE OBJECT appSrv.
    

Compartilhe esta Página