Jump to content


Photo

Como Colocar No Cron E Remover Depois?


  • Faça o login para participar
3 replies to this topic

#1 LuBoc

LuBoc

    Novato no fórum

  • Usuários
  • 14 posts
  • Sexo:Não informado
  • Localidade:Portugal

Posted 14/11/2005, 09:32

Olá pessoal,

Peço ajuda na seguinte situação:

Tenho um site (funciona em Linux, MySQL e com PHP) que possui mais de 30600 utilizadores registados, e pretendo enviar um email (Newsletter) para eles.
Como o meu ISP de certo bloqueia a minha conta de correio se envio tantos emails seguidos, necessito "agendar" o envio desses emails -- enviar 50 emails de cada vez (por exemplo) -- no Cron.

A minha ideia seria:
1) Colocar colocar em uma tabela os emails a serem enviados, o título da msg, a mensagem, data de envio e um campo (Enviado=False) a indicar se foi enviado ou não.

2) Teria um ficheiro .php que seria chamado no Cron para que enviasse 50 emails e que depois altera o campo de Enviado a "True".

3) Enquanto houvesse na tabela emails não enviados estaria activo esse ficheiro;

4) Após não existirem mais emails para enviar, então removia o ficheiro (a tarefa) do Cron;


Como tenho o site em PHP, então seria através de um script do site que iria colocar essa situação a funcionar. (Não uso CPanel, nem me interessa uma situação dessas.)

Será que me podem dar uma luzes de como implementar isto, nomeadamente o código para adicionar uma tarefa ao Cron e depois removê-la de lá?

Agradeço toda a ajuda.

[]´s,
LuBoc
»~» LuBoc «~«

#2 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 14/11/2005, 10:48

Ué, até onde eu sei, servidores Linux usam CPanel (não me arrisco a falar de Windows Server, porque nunca usei).
Tendo CPanel tem um assistente de CronJobs.
É só usa ele.
Tu cria os arquivos PHP com nomes tipo envio-01.php, envio-02.php e etc. com as informações de mail() e dá CHMOD 777.
Depois usa o cron do CPanel pra disparar esse arquivos.

Acho que é isso, usei ele há muito tempo e nem me lembro bem.

Abraços

#3 LuBoc

LuBoc

    Novato no fórum

  • Usuários
  • 14 posts
  • Sexo:Não informado
  • Localidade:Portugal

Posted 14/11/2005, 11:36

Olá,

Agradeço a resposta de Jackpot, mas não era isso que pretendia.

Seria algo semelhante a isto:
1) Desejava via script em PHP adicionar uma tarefa ao Cron, colocando por exemplo, "envia_news.php" para cada 15 min. ser executado.
2) Quando o "envia_news.php" terminasse de enviar todos os emails (conforme descrito no primeiro Post), então ele removia-se do Cron!

Será que é possível?
Como disse anteriormente, não quero utilizar nenhum CPanel ou algo parecido.


Agradeço ajuda.

Cumprimentos,
LuBoc
»~» LuBoc «~«

#4 danielplacido

danielplacido

    Novato no fórum

  • Usuários
  • 14 posts
  • Sexo:Não informado
  • Localidade:Criciúma
  • Interesses:Sistemas em PHP, onde eu possa desenvolver e ter.

Posted 17/11/2005, 16:14

se vc usa-se um system(); da vida ou um exec(); nao seria possivel? :)

eu ja vi alguem fazer isso, nao me lembro bem... mais creio que seja possivel sim... :lol:

soh acho que o servidor tem que liberar algumas safe mode's ...

nao mecho muito com php, mais com c do linux... mais acho que é possivel sim.. através de uma chamada do sistema system()';

flw e até mais..
Daniel Plácido
--------------------------------------------------------------------
PHP-Sistemas - Soluções em Tecnologia WEB!
http://www.phpsistemas.com.br - phpsistemas@phpsistemas.com.br




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq