Estou desenvolvendo um sistema de newsletter, quando o usuário cria
uma nova newsletter tem a opção de enviar as mensagens "agora", que na
verdade envia após 5 mim. da data/hora de criação para dar tempo para
ele editar ou cancelar a newsletter.
Quando gravo esse novo registro da newsletter no banco de dados já
executo a "rotina" via shell_exec, utilizando o & (e-comercial) no
final da linha de comando para que o processo seja executado em
background, para que o php não espere uma resposta do shell para
continuar o script, pois na rotina utilizo um sleep(300); para
aguardar os 5 mim., veja a linha de comando:
shell_exec("php [ARQUIVO DA ROTINA] [PARÂMETRO DA NEWSLETTER ID] &");
Meu problema é que o php fica aguardando a resposta do shell_exec()
para continuar o script, sendo que como disse utilizo o & no final do
comando para que o processo seja executado em background.
Estou fazendo o correto? Existe ou método para realizar isso?
Att.
Félix
--
Diego Tolentino
+55 (62) 8406-5051
shel_exec("nohup php [NOME DO ARQUIVO DA ROTINA, com caminho completo]
[PARAMETRO, neste caso o ID da newsletter] > [NOME DO ARQUIVO QUE SERÁ
GRAVADA A SAIDA DO COMANDO, com caminho completo] &");
EXEMPLO DO SCRIPT:
shell_exec("nohup php ".$cfg[dir][base]."admin/
newsletterNew_rotina.php
".$this->getField('news_id')." >
".$cfg[dir][base]."admin/newsletterNew_log.txt &");
[]s
Félix
On 21 set, 14:26, "Douglas Brito de Medeiros" <douglas....@gmail.com>
wrote: