Luís Rodrigues

Meetup WordPress Porto: Negócios, ursos e, claro, WordPress

“Inverting the Universe” é o nome da apresentação que Luís Rodrigues vai fazer no Meetup WordPress do Porto de Fevereiro. Sobre ela, a apresentação, o autor revela apenas que mete WordPress, negócios e ursos. O resto é surpresa.

É quanto basta para justificar a presença no Meetup WordPress do Porto agendado para a última quinta de Fevereiro, dia 23, às 19h00.

Continuar a ler “Meetup WordPress Porto: Negócios, ursos e, claro, WordPress”

Coisas que aprendi ao importar 50 mil artigos para o WordPress

Nota do Editor: E se, um dia, um conhecido vos pedisse para lidar com a importação, todos os dias, de 50 mil entidades encaminhando-as para artigos numa instalação WordPress?  O mais certo é que tivessem de coçar a cabeça em busca de uma solução. Foi o que aconteceu a Luís Rodrigues. As primeiras tentativas não foram bem sucedidas. Até que… Mas o melhor é ser o próprio Luís Rodrigues a contar a história.

Recentemente, tive a oportunidade de desenvolver um plugin para um cliente que, todos os dias, obtém um ficheiro com cerca de 50 mil entidades, e insere-as ou actualiza-as como artigos, numa instalação WordPress.

A tarefa seria relativamente trivial para um baixo número de entidades, mas como tudo o que é desproporcionado em software, as coisas depressa se tornam estranhas. De timeouts a erros por falta de memória, há muito a esperar de um desafio destes.

Eis algumas das coisas que aprendi.

A tempo e horas

O WP Cron é o mecanismo de agendamento do WordPress, e funciona de forma semelhante ao crontab do Unix. O CMS agenda tarefas pontuais ou recorrentes (como a publicação de artigos) e na data prevista (na melhor das hipóteses), essa tarefa é executada.

Digo “na melhor das hipóteses” porque a execução de tarefas não é um mecanismo independente, sendo despoletada pelas visitas ao site. Ou seja, se existe uma tarefa agendada para as 15:30, mas ninguém visita o site até às 17:59, essa tarefa não é invocada até às 17:59.

O desafio que tinha pela frente não era a pontualidade da operação, mas sim o facto dos pedidos do WP Cron estarem à mercê dos timeouts do servidor web. Por muito que optimizasse a operação, não seria fácil pôr o PHP a importar 50 mil posts em menos dos 60 segundos configurados.

Continuar a ler “Coisas que aprendi ao importar 50 mil artigos para o WordPress”