- Este tópico contém 6 respostas, 4 vozes e foi atualizado pela última vez 17 anos, 1 mês atrás por
Ishii.
-
AutorPosts
-
2 de fevereiro de 2009 às 3:47 pm #85013
marcelomirandola
ParticipanteBom 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.
2 de fevereiro de 2009 às 8:37 pm #85023Ishii
ParticipanteOlá,
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
2 de fevereiro de 2009 às 9:38 pm #85024Leonardo Litz
ParticipanteOlá 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
2 de fevereiro de 2009 às 10:13 pm #85026Marcio68Almeida
ParticipanteVocê 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…
2 de fevereiro de 2009 às 11:40 pm #85033marcelomirandola
ParticipanteValeu 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.
3 de fevereiro de 2009 às 1:02 am #85037Leonardo Litz
ParticipanteCara, 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
3 de fevereiro de 2009 às 1:08 am #85038Ishii
ParticipanteOlá,
“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
-
AutorPosts
- Você deve fazer login para responder a este tópico.