Batch ping requests, instead of creating individual cron tasks for each site.
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
Direzione di ricerca
L'issue non indica file, test o punti di ingresso; inizia individuando il codice che crea una voce cron per ogni abbonato. Esamina come vengono pianificate le notifiche degli abbonati e come vengono gestiti i limiti di esecuzione. Il lavoro è completato quando le notifiche vengono elaborate in batch di dimensioni limitate senza creare un'attività cron individuale per ogni abbonato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Currently a new cron entry is added for each subscriber to notify them of changes. This can cause a problem when you're using an external cron provider, such as https://github.com/humanmade/Cavalcade which we do on WordPress.org
As a result, the cron table ends up with many jobs that all run within their own processes all requested at the same second. This causes a bit of a backlog to happen if there's a lot of subscribers.
Potentially, It would make sense to instead have these processed as a batch cron task, processing the first 5 entries, then scheduling another job to process items 6...n items, which processes the first 5-10, etc. Perhaps processing as many of them as it can within max_execution_time / 2 seconds, then queueing another process, etc.
This is a low-priority enhancement, that may benefit larger sites with many hundreds of subscribers. WordPress.org maxes out at about 100 subscribers per site currently I believe.
- Lingua principale
- PHP
- Stelle
- 15
- Fork
- 10
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Automattic/pushpress
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 85/100
Automattic/pushpress#18 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
Automattic/pushpress#17 ·
-
GUID normalisation bug, leading to duplicatesForse già presa @Alkarex l’ha presa 420 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
Automattic/pushpress#15 · 1 commento · 1 reazione ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
Automattic/pushpress#2 · 1 commento ·
Tutte le issue di Automattic/pushpress
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 3 giorni
-
sync-en
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
[Sync EN] Formatting improvements to "Large Objects (LOBs)" docs (#6056)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertasync-en
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
Перевод устарел
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
I maintainer di solito rispondono entro 1 giorno
-
repo:cms
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
craftcms/cms#20613 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno