Som trochu zmätený. Mám niekoľko úloh, ktoré by som chcel bežať asynchrónne, napríklad integrácia synchronizácie inventára. Za to som zaviedol oneskorenú prácu, ale uvedomujem si, že potrebujem spustiť rake práce: pracuj pre Heroku. Môžem použiť Heroku plánovač spustiť túto úlohu rake každých 10 minút. Moja otázka je; ak vytvorím úlohy na rake, ktoré sa majú spustiť, t. j. metóda synchronizácie inventára, stále potrebujem oneskorenú prácu? Moje chápanie spočíva v tom, že heroku plánovač začína "jedným dynosom".
Namiesto použitia oneskoreného úlohy by som nemal priamo spustiť metódu synchronizácie, pretože sa používa samostatné dyno? Aká je tu pridaná hodnota oneskoreného zamestnania?
odpovede:
1 pre odpoveď č. 1Plánovač Heroku nahrádza, čo cron bude pracovať na typickom serveri. Delayed Job alebo Sidekiq sú pre spracovanie úloh asynchrónne z vašej aplikácie, nie časový rozvrh.
Dôvod, prečo používate pracovníka a spustite tieto úlohyback-end je tak, aby váš server vrátil odpoveď čo najskôr, než aby používateľ čakal na ukončenie určitého potenciálne zbytočne dlhého spustenia (veľa otázok, odchádzajúcich e-mailov, externých API požiadaviek atď.) ,
Ex, plánovač môže spúšťať analytiku alebo aktualizácie zo skriptu každú hodinu alebo deň, ale oneskorená práca nemôže.