O parametro é em milisegundos.
Ex: para tres segundos usar sleep(3000) ;
function sleep(milliseconds) { var start = new Date().getTime(); for (var i = 0; i < 1e7; i++) { if ((new Date().getTime() - start) > milliseconds){ break; } } }
Desenvolvimento Web, Administração Linux e Curiosidades
O parametro é em milisegundos.
Ex: para tres segundos usar sleep(3000) ;
function sleep(milliseconds) { var start = new Date().getTime(); for (var i = 0; i < 1e7; i++) { if ((new Date().getTime() - start) > milliseconds){ break; } } }
Eu utilizava um rotina em php para sincronizar duas tabelas, ela rodava via cron uma vez por hora, porém isso me gerava um certo incômodo, pois as mesmas mensuravam espaço em disco em disco de alguns servidores e as vezes precisava dos dados na hora.
Até que uma hora resolví deixar a preguiça de lado e fazer de uma forma decente, via trigger.
Deixo aqui compartilhado as trigger que criei, aonde podem ser utilizadas como exemplo para after insert, after update e after delete:
After Insert:
DELIMITER $$ CREATE DEFINER=CURRENT_USER TRIGGER sincroniza_backup AFTER INSERT ON tabela_origem FOR EACH ROW BEGIN INSERT INTO tabela_destino SET id = NEW.id_servidor, nome = NEW.nome_servidor, particao = NEW.particao, tamanho = NEW.tamanho, ocupado = NEW.ocupado, livre = NEW.livre, percentualUso = NEW.percentual_uso; END; $$ DELIMITER ;
Aqui o parametro NEW, recebe os dados da row afetada pelo insert executado
Para after update:
DELIMITER $$ CREATE DEFINER=CURRENT_USER TRIGGER sincroniza_backup_update AFTER UPDATE ON tabela_origem FOR EACH ROW BEGIN UPDATE tabela_destino sb SET sb.nome = NEW.nome_servidor, sb.ocupado = NEW.ocupado, sb.livre = NEW.livre, sb.percentualUso = NEW.percentual_uso, sb.testeEmail = NEW.teste_email WHERE sb.nome=NEW.nome_servidor AND sb.particao=NEW.particao; END; $$ DELIMITER ;
Mais uma vez o parametro NEW recebe os dados da tabela de origem (as rows afetadas pelo update)
Esse é um pouco diferente, o after delete
DELIMITER $$ CREATE DEFINER=CURRENT_USER TRIGGER sincroniza_backup_delete AFTER DELETE ON servidor_backup FOR EACH ROW BEGIN DELETE FROM ServidorBackup WHERE nome=OLD.nome_servidor AND particao=OLD.particao; END; $$ DELIMITER ;
Nesse caso o valor que as rows deletas continham vão pro OLD
Agora o bonus stage:
Para deletar uma trigger
DROP TRIGGER sincroniza_backup_update;
———————————————-
Posted Listening: “Schools Out – Alice Cooper”