Работех по проект, при който бяхме създали тестов сайт и производствен сайт на един и същи сървър. Решихме да мигрираме от queue worker, който излиза от кутията с Laravel, към Laravel Horizon, тъй като ви дава хубаво табло за управление, за да наблюдавате вашите опашки и дори можете да настроите известия, когато задачите ви отнемат твърде много време за изпълнение, въпреки че ние не не използвай това.

Инсталирах Laravel Horizon, прочетох документите и го настроих. Работеше добре локално и на сайта за разработчици, така че реших да го пусна в производство, но това не се получи според очакванията. Ако променливата на средата HORIZON_PREFIXне е зададена, префиксът на Redis се генерира с помощта на променливата на средата APP_NAME.

Тъй като и сайтът за разработка, и сайтът за производство използваха една и съща стойност за променливата на средата APP_NAME, заданията не бяха обработени правилно. Решението беше да се зададе променливата на средата HORIZON_PREFIXна нещо различно или за сайта за разработка, или за производствения. Аз лично смятам, че беше възможно, бих предпочел да са на различни сървъри. Реших да напиша тази статия, за да помогна на всеки, който може да се сблъска с този проблем в бъдеще.