Jump to content


Photo

Exclusão Automática


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

#1 Tigre

Tigre

    Normal

  • Usuários
  • 118 posts
  • Sexo:Masculino
  • Localidade:Criciúma

Posted 05/12/2007, 16:08

Olá pessoal, estou precisando de um sistema de exclusão automática de cadastro mas não tenho nem idéia de como fazer isso.

Um exemplo: os cadastros (anuncios) que ficarem 30 dias inativos serão excluídos automaticamente.

O esquema das datas para o controle dos dias eu já tenho. Só necessito mesmo é o esquema (a acão) que exclui o anúncio.

Se alguém puder dar a dica, agradeço.

#2 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 05/12/2007, 16:46

Vejo duas opções mais tranquilas:
1 - Colocar o script no crontab (se for linux, claro)... aí uma vez por dia ele verifica quais estão vencidos e exclui.
2 - Simplesmente, na hora de mostrar na tela, selecionar apenas aqueles que estão dentro de um certo intervalo de datas e exclui por outro processo.

#3 Tigre

Tigre

    Normal

  • Usuários
  • 118 posts
  • Sexo:Masculino
  • Localidade:Criciúma

Posted 05/12/2007, 17:09

Boirock, e no caso de mudar uma condição (automaticamente) num campo do BD também seria no sistema que vc passou aí?

Exemplo: no esquema que estou fazendo, a pesquisa no BD é feita em cima de uma condição ("S" para os Ativos e "N" para os Inativos).

Assim que o anúncio expira o prazo seria alterado o campo, de "S" para "N". Pra fazer isso tem que ser através do crontab também?

Ou será que é melhor fazer a pesquisa utilizando as datas em vez de chamar pela condição Ativos e Inativos?

Edição feita por: Tigre, 05/12/2007, 17:10.


#4 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 06/12/2007, 09:06

vc pode fazer qualquer coisa através do cron, pois na verdade o que rodará é o script que vc definir para rodar...

Se o script que vc colcoar para rodar fizer tudo isso que falou... ele fará...

No Windows seria o Agendador de Tarefas

(y) Até mais

#5 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 06/12/2007, 12:38

Olha, eu acho que fica redundante ter um campo dizendo que o intervalo de datas não é mais válido sendo que você já tem esse intervalo de datas gravado (claro que existem exceções)...
Acho que o negócio é comparar por data e matar o assunto por aí ;)

Mas acho que ficaria melhor se você pendurasse o processo no crontab.
Mas claro que para isso você tem que ter acesso ao crontab =D
Se for o Windows, como o Crab disse, dá pra usar o agendador de tarefas... mas eu não confio nele não!!! Já tive scripts agendados que não foram executados...

#6 Tigre

Tigre

    Normal

  • Usuários
  • 118 posts
  • Sexo:Masculino
  • Localidade:Criciúma

Posted 06/12/2007, 13:22

O campo que dá a condição de ativo ou inativo para o anúncio será necessário para o cliente que tem um plano com um determinado número de anúncios, não dependendo de datas, onde ele ativa ou desativa o anúncio quando desejar.

O problema são os anúncios individuais, com prazo de vencimento.

Acho que nesse caso vou optar mesmo pelas datas, como vc disse. Acho que fica melhor. O contrab poderá ser usado só pra casos de exclusão dos anúncios inativos.

Falando nesse contrab, é o serviço de hospedagem que disponibiliza isso? É o primeiro site em php que estou fazendo, por isso não tenho muito conhecimento desse contrab.

#7 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 06/12/2007, 15:56

Ok.
Você sabe o que é a agenda de tarefas do Windows, né?
O crontab é o equivalente à agenda de tarefas do Windows, só que para Linux.
Crontab não é exatamente uma coisa relacionada a desenvolvimento web e sim a servidores Linux, acho que é por isso que você não está acostumado com ele.
Algumas hospedagens têm painel de controle com acesso ao crontab, outras não têm mas colocam a tarefa mediante pedido e outros simplesmente não liberam o uso do cron...
Você tem que conversar com eles lá(y)

E se você quiser usar o intervalo de datas em concjunto com um campo de status, dá tranquilo! É oque u costumo fazer, pois controle de datas muitas vezes é insuficiente.
É só aplicar as duas condições =D

#8 Tigre

Tigre

    Normal

  • Usuários
  • 118 posts
  • Sexo:Masculino
  • Localidade:Criciúma

Posted 06/12/2007, 16:44

Ok Boirock, na hora de escolhar a hospedagem vou me informar sobre o crontab.

Só pra esclarecer, vc usa o sistema de datas em conjunto com um campo de status pra um mesmo assunto (como garantia) ou pra assuntos (serviços) diferentes? No meu caso vou usar as datas pros anunciantes individuais e o campo de status pra quem tiver plano com vários anúncios (sem data estipulada).

Seria mais ou menos assim que vc usa os dois em conjunto? (no caso um pra cada tipo de anunciante).

#9 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 10/12/2007, 11:39

Na situação do usuário do post, eu sou a favor de apagar o registro, a mantê-lo como inativo. Se for por exemplo uma conta grátis para demonstração, é melhor apagar e liberar espaço no banco.

Normalmente hosts com CPANEL tem o cron disponível.
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...




0 user(s) are reading this topic

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

IPB Skin By Virteq