Bom dia a todos!
Preciso tirar uma duvida, aqui no forum, em relação como o schedule. Na empresa já tinha uma função que funciona certinho no schedule. Mas tivemos que fazer a chamada de outra função que se executa despois da primeira.
Assim eu estou executando as função U_ATUAPRECO() no schedulem que está no fonte ATUAPRECO.prw, mas no mesmo fonte antes do return eu faço a chamada da função U_EMAIL que está no fonte ENVIOEMAIL.prw.
E ai quando faço isso a primeira função que já estava funcionando certinha no schedule, é executada sem problema, só que a fazer a chamada da nova função entra em um ciclo e executa a primeira função varias vezes e não termina de executar a segunda função.
No schedule a função fica executando e não finaliza.
Minha duvida: é possível executar duas função desse forma? O que estou fazendo de errado?
Alguém consegue me orientar com isso, por favor.
Editado:
Assim, na imagem Anexo01.jpg é o a função que vai ser chamada pelo schedule e eu circule em vermelho la chamada a outra função.
Essa outra função tem duas execuções principais a primeira vai gerar 3 relatórios, depois executa a segunda que vai criar e enviar um e-mail com os três relatórios adjuntos.
Mas o problema está em gerar os três relatórios, a função consegui gerar só um relatório e volta a executar a função principal e gerar de novo esse relatório. O e-mail não é enviado porque não são gerados os três.
No Anexo02.jpg está a função do Schedule.
As duas funções funcionam bem separadamente no schedule.
Também inverti a chamada, faço a execução da função que gera os relatórios chamando primeiro a função que vai atualizar os dados, e acontece a mesma coisa.
Por ultimo essa função que gerar os relatórios e envia os e-mail leva uns 8 minutos em executa-se completa, e ai eu estou pequice se o schedule tem algum limite de tempo de execução, mas não ache nada sobre isso.
Yenny, consegue colocar o exemplo do fonte e as funções, como elas estão sendo chamadas?
— Daniel Mendes 21 de Oct de 2020Faço isso normalmente, deve ter algum problema no seu fonte.
— Marcos Bispo Abrahão 21 de Oct de 2020Sim, Marcos com certeza tenho alguns problema no fonte. Mas eu não estou achando o que é. E o mais estranho é que conseguo executar essas duas funções por separado, mas quando executo elas duas consecutivamente não da certo.
— Yenny Delgado 21 de Oct de 2020Daniel edite o post com algumas informações novas. Agradeço seu interesse em me ajudar.
— Yenny Delgado 21 de Oct de 2020Difícil dizer o que está acontecendo, tente colocar a chave KillStack no INI e quando a rotina ficar presa no schedule, derrubar a thread para que o error.log seja gerado no console: https://tdn.totvs.com/display/tec/%5BEnvironment%5D+KillStack
— Daniel Mendes 21 de Oct de 2020Daniel, muito obrigada. Consegui saber qual eram os erros configurando o KillStack.
— Yenny Delgado 22 de Oct de 2020