Feat: implement cron job execution and scheduling functionality#13
Merged
JakubAndrysek merged 6 commits intomainfrom Sep 4, 2025
Merged
Feat: implement cron job execution and scheduling functionality#13JakubAndrysek merged 6 commits intomainfrom
JakubAndrysek merged 6 commits intomainfrom
Conversation
36800ac to
eee08dc
Compare
… dependency management
eee08dc to
a9ab491
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cron Job - Periodické úlohy ve ForrestHubu (experimentální)
Ve ForrestHubu můžete vytvářet cron joby, což jsou skripty, které se spouštějí automaticky v pravidelných intervalech. Tyto úlohy jsou užitečné pro úkoly, které je třeba provádět opakovaně, jako kontrola skóre, globální zvyšování herní obtížnosti, či odesílání pravidelných oznámení hráčům.
Jak fungují cron joby
Cron joby jsou umístěny v souboru
cron.<interval-seconds>.jsve složce vaší hry (např.games/<your-game>/cron.30.js). Tento skript se spouští každýchNsekund a může obsahovat jakýkoli JavaScriptový kód (bez async + await), který potřebujete pro správu vaší hry. Měla by být dostupné ořezané API prostředí ForrestHubu, což znamená, že můžete přistupovat k databázím, uživatelským datům a dalším funkcím platformy.Ve složce vaší hry můžete mít více cron jobů s různými intervaly, například
cron.10.jspro úlohy spouštěné každých 10 sekund acron.60.jspro úlohy spouštěné každou minutu. Ale také napříkladcron.300.jspro úlohy spouštěné každých 5 minut. Kratší intervaly než 1 sekundu nejsou podporovány a pravděpodobně by ani nebylo možné je spolehlivě dodržet. Vykonávání cron jobů může být ovlivněno zatížením serveru a dalšími faktory, takže není zaručeno, že se úloha spustí přesně v daném intervalu, ale vždy se spustí a vykoná celý skript. Cron job je aktivní pouze tehdy, pokud běží hra. Během pozastavení hry se cron joby nespouštějí.Příklad cron jobu
Zde je jednoduchý příklad cron jobu, který se spouští každých 12 sekund a zvyšuje hodnotu proměnné
cron.12.js:Pokud narazíte na problém s cron joby, prosíme o nahlášení chyby na GitHub Issues.