Pular para o conteúdo
Visualizando 7 posts - 1 até 7 (de 7 do total)
  • Autor
    Posts
  • #85013
    marcelomirandola
    Participante

      Bom dia pessoal.
      Tenho um job que demora em média 100 minutos para ser executado. As vezes o processamento atrapalha a execução de outras tarefas e chega a demorar até 200 min. Pergunta:

      Tem como eu priorizar a execução deste job em tempo de execução, ou seja, ele começa a executar, dependendo do nível de processamento, o Job dá uma pausa até que o processamento diminua e depois volta a ser executado?

      Obrigado,

      Marcelo.

      #85023
      Ishii
      Participante

        Olá,

        Não seria melhor analisar o motivo do Job estar lento? Isso pode te complicar depois…. por isso melhor “arrumar” já… Coloque aqui um trace do que o Job executa e vamos ver se tem como melhorar…

        []s Ishii

        #85024
        Avatar photoLeonardo Litz
        Participante

          Olá Marcelo, você pode aplicar a técnica de Sinaleiro. Aquela mesma famosa utilizada em Java. Voce pode alimentar alguma tabela com uma flag indicando que o seu processo principal já terminou assim podendo executar o procedente. Mas de qualquer forma um processo que demora 100 minutos para executar deve ser revisto.

          Vlw Leonardo Litz

          #85026
          Marcio68Almeida
          Participante

            Você pode, e deve, quebrar o seu processo em vários processos menores, evitando que ele gere locks e trave a aplicação como um todo…

            #85033
            marcelomirandola
            Participante

              Valeu pelas dicas de todos.
              Deixa eu explicar o processo então.
              A empresa tem 130 representantes.
              Eu gero cerca de 25 arquivos xml para cada (3250 arquivos no total).
              A maioria pequeno (20KB), e alguns de 2 MB.
              Por isso a demora na execução do processo. As consultas dos cursores são simples, porém, tem muito acesso a disco.
              Na parte do SQl, acredito que não tenha o que fazer, está bem enxuto, e eu preciso gerar estes arquivos para todos os representantes todos os dias até as 21:00.

              Valeu.

              #85037
              Avatar photoLeonardo Litz
              Participante

                Cara, nao sei como é tua maquina ai.

                Mas eu tentaria o seguinte.

                Quando executar a query, inserir em um tabela.

                E dividiria em n jobs para gerar os xml, um para cada tipo de layout, ou agruparia de 5 em 5 de forma que os grandes ficassem separados.

                Desta forma vc stataria eles concorrentes, creio que a velocidade do processo seria muito mais rapida.

                Vlw Leonardo Litz

                #85038
                Ishii
                Participante

                  Olá,

                  “Quem nunca fez um POG que atire a primeira pedra”

                  Eu sugiro, mesmo sem detalhes, que seja utilizado uma procedure já gerando numa tabela o XML e depois cada XML executado numa outra máquina pois com certeza o acesso a Disco está na geração do XML….

                  Mais detalhes coloque aqui que tentamos ajudar…

                  []s Ishii

                Visualizando 7 posts - 1 até 7 (de 7 do total)
                • Você deve fazer login para responder a este tópico.