Você não é registrado, por favor registre-se para ter acesso ao conteúdo completo.
Caso seja registrado, efetue login.
Esqueceu sua senha? Clique aqui
Recomendamos o uso do Mozilla Firefox para uma melhor visualização.    


Início Postados Hoje Marcar Fóruns Como Lidos Álbums Banidos SE Team Medalhas
Voltar   Secret Experience > Área L2J > [L2J] Tutoriais
Registrar Loteria VIPStaff SERegras do fórum Comunidade Arcade Postados Hoje Pesquisar Experience
   

Secret Experience.NET   Secret Experience Corporation - Welcome To The Real World
     Anúncios SE

Resposta
 
Ferramentas do Tópico Modos de Exibição
Antigo 31-07-2010, 11:15 PM   #1
[Guia] Agendamento de Eventos no MYSQL
lars lars está offline 31-07-2010, 11:15 PM

Galera postei no meu blog ([Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar] ) uma artigo bem interessante que pode ser reaproveitado no Lineage 2, por exemplo: remover contas com level abaixo de 40, etc... Muito útul e interessante, vale apena dar uma olhada ;)

Poucos trabalham com sistemas que "trabalham por conta própria" ainda mais online (sem um software que se starta no servidor...), mas é muito interessante acrecentar este conhecimento, que pode ser muito útil em sites de promoções:

Imagine, ter que expirar códigos após 24horas, de forma automática (códigos de validação e email, de promoções, de convites, enfim...) como vocês fariam? Muitos optam pelo CRON ou se disponível no servidor, automação HTTP, mas ambos pode-se dizer que é uma "gambiarra" caso tenhamos que utilizar-lo para executar somente querys.

Alguns bancos de dados permitem criar eventos agendados, ou seja, você programa o ano/mês/semana/dia/hora/minuto/.... quando deve iniciar, qual o intervalo de tempo que ele deve executar a query, enfim... Basicamente programar o banco p/ executar a query no horário definido.

Geralmente nestes casos não usamos apenas 1 query, é possível se agendar eventos p/ executar um insert ou um update por exemplo, mas caso você queira fazer aquelas bizarrices de insere ali, edita aqui e deleta lá fica mais conveniente criar uma Stored Procedure e falar-mos para o evento executar-la ;).

Bom, agora vamos ao que interessa:

A sintaxe do evento segue este padrão:

CREATE EVENT ‘Nome_do_evento’
ON SCHEDULE AT [quando deve se executar] + [intervalo] [valor inteiro] [tipo tempo (dia/mês/minuto/hora....)]
DO
[Sua Query];

exemplo:

CREATE EVENT 'deletaNonValidados'
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY
DO

DELETE FROM contas WHERE validado = false;

este evento vai de dia em dia executar contando do momento em que foi criado, uma queyr que vai deletar os usuários que não validaram suas contas.

Caso queira executar mais de uma query, só criar uma stored procedure e no lugar de: DELETE FROM contas WHERE validado = false;

por: CALL spDeleta; ficando desta forma:

CREATE EVENT 'deletaNonValidados'
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY
DO

CALL spDeleta;

pronto :D

PS: O serviço de agendamento deve estar ativado, não adianta criar o evento se não ativar-lo, basta exercutar uma query:

SET GLOBAL event_scheduler = ON;
Documentação detalhada:

[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]

 
Avatar de lars
lars
Membro - Recruta
Registrado em: Dec 2008
Posts: 6
Visitas: 785
Os Seguintes 6 Usuários disseram Obrigado(a) para lars por gostarem deste post :
alessandroht (22-01-2011), Cratos (24-05-2011), leoneto (02-08-2010), mend3 (25-05-2011), RazerNaga (08-08-2010), SaraxD (31-07-2010)
Links Patrocinados
Antigo 31-07-2010, 11:21 PM   #2
Amigo SE
 
Avatar de SaraxD
 
Registrado em: May 2009
Localização: Praia Grande - SP
Posts: 1,235
Agradeceu: 95
Agradecido 952 Vezes em 495 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Rate Designer: Iniciante
Meu Estado:
Enviar mensagem via Windows Live Messenger para SaraxD
Nome Real: Sara Banni

Inventório de SaraxD

Padrão

Muito Bom... Pode ser Usado para Excluir Users Banidos e Para muitas outras Coisas.

__________________
[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
Thx Arayashiki
SaraxD está offline   Responder com Citação
Antigo 24-05-2011, 05:02 PM   #3
Cratos
Membro - Cabo
 
Avatar de Cratos
 
Registrado em: Apr 2011
Posts: 22
Agradeceu: 31
Agradecido 0 Vezes em 0 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Meu Estado:

Inventório de Cratos

Padrão

Amigo esse tuto eu posso criar um evento do tipo
todos finais de semana ex/sp/adena em dobro
sabado todas cidades PvP eventos desse tipo
teria como?

Desde jah obrigado!!!!
L2jServ Freya

Cratos está offline   Responder com Citação
Antigo 25-05-2011, 03:10 AM   #4
allanalcantara
Banido
 
Avatar de allanalcantara
 
Registrado em: Nov 2009
Localização: Fortaleza-ce
Posts: 325
Agradeceu: 125
Agradecido 203 Vezes em 82 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Enviar mensagem via Windows Live Messenger para allanalcantara Enviar mensagem via Skype para allanalcantara
Nome Real: Allan Alcântara de Alencar

Inventório de allanalcantara

Padrão

isso funciona realmente? :o
se funcionar meus parabéns ..


teis como postar algumas SS?

allanalcantara está offline   Responder com Citação
Antigo 25-05-2011, 03:59 AM   #5
mend3
Membro - Coronel
 
Avatar de mend3
 
Registrado em: Dec 2008
Localização: Campo Grande
Posts: 185
Agradeceu: 97
Agradecido 1,929 Vezes em 100 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Meu Estado:
Enviar mensagem via ICQ para mend3 Enviar mensagem via Windows Live Messenger para mend3 Enviar mensagem via Yahoo para mend3 Enviar mensagem via Skype para mend3
Pontos: 7,143, Nível: 55
Pontos: 7,143, Nível: 55 Pontos: 7,143, Nível: 55 Pontos: 7,143, Nível: 55
Atividade: 0%
Atividade: 0% Atividade: 0% Atividade: 0%

Nome Real: Victor Mendonça

Inventório de mend3

Padrão

Graaaaande Lars. Dica muito útil, simples e fácil de entender/fazer. Up no tópico rapaz. Abraços

mend3 está offline   Responder com Citação
Resposta


Regras para Posts
Você não pode postar novos tópicos
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar seus posts

Código [IMG] Sim
Código HTML Não

Ir para...


Horários baseados na GMT -3. Agora são 01:11 AM.