Eine Reihe von Personen hat erwähnt, dass kein Verhältnis bekannt ist und dass das Verhältnis von Web-Workern zu Hintergrund-Workern, das Sie möchten, davon abhängt, wie Sie Ihre Anwendung entworfen haben - das ist richtig. Ich dachte jedoch, es könnte nützlich sein, hinzuzufügen, dass Sie als allgemeine Faustregel möchten, dass Ihre Web-Worker - und damit die Controller-Aktionen, die sie ausführen - blitzschnell und sehr leicht sind, um die Latenz in den Antwortzeiten von Browser-Aktionen zu verringern. Wenn es eine Browseraktion gibt, für deren Bereitstellung mehr als beispielsweise eine halbe Sekunde Echtzeit erforderlich ist, möchten Sie wahrscheinlich eine Art System entwickeln, das den Großteil dieser Aktion in eine Warteschlange stellt.
Sie würden dann einen oder mehrere Offline-Worker-Dynos entwerfen, die diese Warteschlange bedienen. Sie können viel länger dauern, da für ihre Ausgabe keine HTTP-Antworten anstehen. Möglicherweise wird auf der Seite, die Sie von der ersten Browseranforderung gerendert haben, die die Aktion ausgelöst hat, Javascript bereitgestellt, das einen Thread startet, der überprüft, ob die Anforderung alle 5 Sekunden abgeschlossen wurde, oder etwas in dieser Richtung.
Ich kann Ihnen immer noch kein Verhältnis geben, mit dem Sie aus dem gleichen Grund arbeiten können, den andere angegeben haben, aber hoffentlich hilft Ihnen dies bei der Entscheidung, wie Sie Ihre App entwerfen. (Ich sollte auch erwähnen, dass dies nur ein Design von vielen gültigen ist.)
heroku logs -p router --tail