Open jacsonp opened 8 years ago
Olha, tenho uma ideia de como fazer isso:
@jacsonp removi a opção de disparo imediato (now) e deixei apenas a agendada, que oferece a posibilidade de agendar emails de hora em hora, acredito que uma alternativa é permitir agendamentamentos mais espaçados de preferencia fora dos horarios de pico do site, assim não provocamos lentidão no uso da ferramenta. O que acha? Mais temos que definir quais serão estes horarios. Para isso podemos ate mesmo criar uma configuração em settings que permite atualizar os horarios de envio.
Acredito que assim podemos utilizar o cron do linux como esta em: https://premium.wpmudev.org/forums/topic/multisite-run-wp-cron-on-each-site
Ai vamos ver como fica a proposta acima:
1 e 2) neste caso não vamos precisar da tabela já que definimos o agendamento para horarios especificos e podemos ter o wp-cron ou o cron do linux rodando o wp-cron de tempos em tempos.
3) O cron do linux ou o wp-cron podem fazer esse papel usando o algoritmo do sendpress mesmo.
Tudo bem seguir por este caminho?
@jacsonp conversou comigo explicou que a ideia é desabilitar o wp-cron para o sendpress, acredito que podemos fazer isso retirando todos os hooks para wp-schedule e wp-cron e colocando em outro cron que criasemos apenas para gerir os problemas do sendpress. Além disso depois podemos utilizar o cron do linux para ativar este novo wp-cron.
Estou pensando em criar uma action que ao ser chamada desde a redelivre aciona o envio de mensagens para cada blog. O que acha @jacsonp?
Tive uma ideia de fazer uma extenção do wp-cli que basicamente roda o envio de mensagens em todos os sites da rede e guarda em um log a saida... pode ser? Ai a gente chama no horario que a gente quiser isso pelo cron do linux. https://github.com/wp-cli/wp-cli
Eu adicionei um comando que envia todas as mensagens na pilha em todos os blogs da rede. Ele pode ser utilizado pelo cron:
wp jaiminho sendemails
E acho que com este doc podemos fechar a tarefa:
Gostaria que o envio por wp-cron fosse opcional, envio pelo front fosse impossível para evitar as sobre cargas e/ou envios duplicados que já tivemos e ter a opção para enviar pelo cron do SO, ou seja, um php para chamar pelo cli que processe a fila. Na versão anterior do Sendpress, a função q realiza o disparo era: SendPress_Manager::send_email_from_queue.