Autor Tópico: Geração de Código Fonte - TimeOut 300s  (Lida 3642 vezes)

R.O.N.A.L.D.O

  • Avançado
  • ****
  • Mensagens: 493
    • RC Sistemas Soluções Informáticas
    • Email
Geração de Código Fonte - TimeOut 300s
« Online: Novembro 13, 2013, 05:45:33 pm »
Meus Caros,

Estou fazendo uma rotina bastante longa, e na hora de gerar o código fonte estou recebendo o seguinte erro:

Fatal error: Maximum execution time of 300 seconds exceeded in C:\Program Files (x86)\NetMake\v71\wwwroot\scriptcase\prod\third\adodb\drivers\adodb-mysql.inc.php on line 365

Tem como alterar esse parametro de tempo ???
Ronaldo Cocuroci
Analista de Sistemas
RC Sistemas Soluções Informáticas
www.rc-sistemas.com

Jailton

  • Expert
  • *****
  • Mensagens: 2041
Re:Geração de Código Fonte - TimeOut 300s
« Responder #1 Online: Novembro 14, 2013, 08:01:36 am »
Em qualquer servidor que você for hospedar depois você vai ter no máximo 240 ms, a sugestão seria tentar usar o BANCO DE DADOS, para fazer PROCEDURES e VIEWES para já deixar os dados que você precisa no ponto, para você finalizar com o SCRIPTCASE é assim que eu faço.


PHP não funciona igual um COBOL ou um programa DESKTOP que pode ficar rodando uma ROTINA dias até finalizar um processo.
« Última modificação: Novembro 14, 2013, 08:03:44 am por Jailton »
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

R.O.N.A.L.D.O

  • Avançado
  • ****
  • Mensagens: 493
    • RC Sistemas Soluções Informáticas
    • Email
Re:Geração de Código Fonte - TimeOut 300s
« Responder #2 Online: Novembro 14, 2013, 08:42:04 am »
Jailton,

O problema da demora não é na execução da rotina é na geração do código fonte, a rotina está rodando bem rápido, agora a geração do código por conta da quantidade de linhas, está estourando o limite de tempo do scriptcase.
Ronaldo Cocuroci
Analista de Sistemas
RC Sistemas Soluções Informáticas
www.rc-sistemas.com

Jailton

  • Expert
  • *****
  • Mensagens: 2041
Re:Geração de Código Fonte - TimeOut 300s
« Responder #3 Online: Novembro 14, 2013, 09:15:44 am »
Que ambiente você esta utilizando para desenvolver?
LOCAL? HOSPEDAGEM WEB?


SCRIPTCASE SC 7.1 - PHP 5.4?

WINDOWS VERSÃO? BITS? MEMORIA?

Quantas linhas tem esta ROTINA?

Total de APLICAÇÕES DO PROJETO?

Base de DADOS FONTES DO SC: SQLITE?

Esta desenvolvendo para que BASE DE DADOS? MySQL?
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

R.O.N.A.L.D.O

  • Avançado
  • ****
  • Mensagens: 493
    • RC Sistemas Soluções Informáticas
    • Email
Re:Geração de Código Fonte - TimeOut 300s
« Responder #4 Online: Novembro 14, 2013, 11:26:59 am »
Caro Jailton,

Vamos lá....

Desenvolvimento está acontecendo em local, num notebook com processador i5 memória ram de 6GB.

O windows é 65bits e o scriptcase é o 7.1 com PHP 5.4.

O sistema tem apenas 19 aplicações, mas neste caso estou tentando gerar somente dessa específica que no momento está com 1.300 linhas de código e ainda deve crescer um pouquinho mais.  É uma rotina que busca vários dados no BD e monta uma tabela com inúmeras variáveis estatísticas.

O banco da aplicação é o MySQL.

Não sei lhe informar qual é o banco de dados dos fontes. :(

Ronaldo Cocuroci
Analista de Sistemas
RC Sistemas Soluções Informáticas
www.rc-sistemas.com

Jailton

  • Expert
  • *****
  • Mensagens: 2041
Re:Geração de Código Fonte - TimeOut 300s
« Responder #5 Online: Novembro 14, 2013, 11:43:56 am »
Caro Jailton,

Vamos lá....

Desenvolvimento está acontecendo em local, num notebook com processador i5 memória ram de 6GB.

O windows é 65bits e o scriptcase é o 7.1 com PHP 5.4.

O sistema tem apenas 19 aplicações, mas neste caso estou tentando gerar somente dessa específica que no momento está com 1.300 linhas de código e ainda deve crescer um pouquinho mais.  É uma rotina que busca vários dados no BD e monta uma tabela com inúmeras variáveis estatísticas.

O banco da aplicação é o MySQL.

Não sei lhe informar qual é o banco de dados dos fontes. :(

Ok era isso que eu queria pra entender... ok vamos a solução.

Então quebre sua rotina em MODULOS, entre no formulário que esta a rotina ai vai embaixo em > Programação > Métodos PHP, ai você dividindo ela em módulos e passando parâmetros com os dados entre eles você obtêm o resultado desejado, você pode criar uma biblioteca também para o projeto se desejar.

Abuse das Matrizes Arrays, For, While, Funções para cortar trechos repetitivos dos códigos.
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

R.O.N.A.L.D.O

  • Avançado
  • ****
  • Mensagens: 493
    • RC Sistemas Soluções Informáticas
    • Email
Re:Geração de Código Fonte - TimeOut 300s
« Responder #6 Online: Novembro 14, 2013, 12:05:52 pm »
Caro Jailton,

Ok, vou partir para isso então, obrigado pelas dicas e pela sua atenção.

Abração.
Ronaldo Cocuroci
Analista de Sistemas
RC Sistemas Soluções Informáticas
www.rc-sistemas.com

Bernhard

  • Administrator
  • Expert
  • *****
  • Mensagens: 1619
Re:Geração de Código Fonte - TimeOut 300s
« Responder #7 Online: Novembro 17, 2013, 12:27:31 am »
Verifique também a diretiva max_execution_time do php.ini.

att,
Bernhard

robertocunha

  • Novato
  • *
  • Mensagens: 9
    • Email
Re:Geração de Código Fonte - TimeOut 300s
« Responder #8 Online: Novembro 18, 2013, 10:46:31 am »
Estou passando pelo mesmo problema, já dividi em vários métodos mas continua o mesmo erro.Alguém do suporte pode nos ajudar????Fatal error: Maximum execution time of 300 seconds exceeded in C:\Program Files (x86)\NetMake\v71\wwwroot\scriptcase\prod\third\adodb\drivers\adodb-mysql.inc.php on line 365
Full-time: 0:05:01

Almeida

  • Expert
  • *****
  • Mensagens: 610
    • Email
Re:Geração de Código Fonte - TimeOut 300s
« Responder #9 Online: Novembro 18, 2013, 12:35:40 pm »
Verifique também a diretiva max_execution_time do php.ini.

att,
Bernhard

Já tentarão fazer oque Bernhard disse?

Se usarem o sc 7.1 abra a pasta componentes/php e em seguida procure o php.ini.

Procure:
max_execution_time = 300 // creio que esse valor é o que o SC cria por padrão.

Altere para:
max_execution_time = 600

Att.
Eliezer Almeida
eliezeralmeidago@hotmail.com
www.infotecsoft.com.br - Modernidade e Eficiência

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:Geração de Código Fonte - TimeOut 300s
« Responder #10 Online: Novembro 18, 2013, 04:04:33 pm »
Se a sua rotina usa dados recorrentes do banco de dados porque vc não cria views no banco pra agilizar o processamento, ou então uma procedure e usa o php apenas pra processar o retorno.
Uma outra opção pra não ter que aumentar direto no php.ini o tempo é s´ó aumentar direto na aplicação.

No menu esquerdo da aplicação vá em:

Aplicações
       Configurações
                Timeout (altere aqui o timeout dessa aplicação)

R.O.N.A.L.D.O

  • Avançado
  • ****
  • Mensagens: 493
    • RC Sistemas Soluções Informáticas
    • Email
Re:Geração de Código Fonte - TimeOut 300s
« Responder #11 Online: Novembro 18, 2013, 04:17:50 pm »
Meus caros,

O meu problema não é na execução da aplicação e sim na geração do código fonte, ou seja, o timeout era dado pelo scriptcase e não pela aplicação em si, eu resolvi o problema enxugando o código, evitando repetições e sintetizando ao máximo o código, feito isso a geração do código agora não passa de 30 segundos.
Ronaldo Cocuroci
Analista de Sistemas
RC Sistemas Soluções Informáticas
www.rc-sistemas.com

Almeida

  • Expert
  • *****
  • Mensagens: 610
    • Email
Re:Geração de Código Fonte - TimeOut 300s
« Responder #12 Online: Novembro 18, 2013, 04:41:35 pm »
Meus caros,

O meu problema não é na execução da aplicação e sim na geração do código fonte, ou seja, o timeout era dado pelo scriptcase e não pela aplicação em si, eu resolvi o problema enxugando o código, evitando repetições e sintetizando ao máximo o código, feito isso a geração do código agora não passa de 30 segundos.


Creio que o SC também usa o PHP.ini para fazer a geração de seu código. Se estiver um código muito grande e o tempo de 300 sec não for suficiente, aumentando-o também resolve o problema. Enxugando seu código foi bom, resolveu, mas talvez se deparar com um código grande que mesmo enxugando o tempo de compilação for maior, tente aumentar essa DIRETIVA no php.ini.

O scriptcase também roda em cima do ambiente PHP, ele é desenvolvido em PHP. Então por lógica sua geração de código usa o PHP, sendo assim o php.ini também serve para o SC, tente mudar a DIRETIVA para 5 sec  e tente gerar o código pra ver, eu não tentei, mais creio que vai dar a mesma mensagem.
« Última modificação: Novembro 18, 2013, 04:44:02 pm por Almeida »

Att.
Eliezer Almeida
eliezeralmeidago@hotmail.com
www.infotecsoft.com.br - Modernidade e Eficiência

R.O.N.A.L.D.O

  • Avançado
  • ****
  • Mensagens: 493
    • RC Sistemas Soluções Informáticas
    • Email
Re:Geração de Código Fonte - TimeOut 300s
« Responder #13 Online: Novembro 18, 2013, 04:43:10 pm »
Almeida,

Sem dúvida, se eu me deparar com isso no futuro novamente e não tiver jeito de otimizar então vou partir para essa alternativa.

Obrigado pela sua atenção.
Ronaldo Cocuroci
Analista de Sistemas
RC Sistemas Soluções Informáticas
www.rc-sistemas.com

robertocunha

  • Novato
  • *
  • Mensagens: 9
    • Email
Re:Geração de Código Fonte - TimeOut 300s
« Responder #14 Online: Novembro 18, 2013, 10:06:03 pm »
Mesmo mudando max_execution_time = 3600 no php.ini continua o mesmo erro. Creio que seja um bug, o SC não esta aceitando muitas linhas de código.Tenho um método: function calculo_cartao_credito com 67 linha.
Tipo de aplicação: Formulário   Estado: Erro    Full-time: 0:05:01
Fatal error: Maximum execution time of 300 seconds exceeded in C:\Program Files (x86)\NetMake\v71\wwwroot\scriptcase\prod\third\adodb\drivers\adodb-mysql.inc.php on line 365