Към Емо -- не схващам как така едновременно е нелепо да се твърди че Rails не става за големи и дълго поддържани проекти, докато също така е вярно че като ти е по-голям проекта, трябва често да излизаш извън границите на Rails. Pick one? Аз клоня към второто, то е 100% факт of life и беше точно което и аз казах -- Rails ти дава хубави утъпкани пътечки, but that's about it; потрябва ли ти нещо което е уникално за проекта ти и вероятно не се изисква от повече от няколко хиляди души на тази планета, е повече от ясно че трябва да си roll-ваш your own implementation. Което в моята невронна мрежа означава че Rails
не става за големи и дълго поддържани проекти, по смисъла на това че няма out of the box solutions (дори и gems) за немалко практически и често срещани нужди. Забележи че съм съгласен че причините са далеч извън само тази единствена изтъкната тук -- не мога да споря с факти.
За справка -- ActiveJob е нещо което започнах да ползвам още в момента в който дръпнах Rails 4.2, т.е. два дни след като излезе. Това не променя тъжния факт че трябваше да го monkey-patch-вам 10 пъти подред за да си направя мини-framework който да го ползва него (а не долнолежащия Sidekiq / DelayedJob и т.н.) за да ми дава статуси на задачи, да ми позволява да ги прекъсвам почти когато си поискам, да мога да правя retry на задачи които съм спрял ръчно, така че те да се възползват от retry capabilities които долнолежащият task executor предоставя, да мога да правя задачи да expire-ват и да бъдат автоматично изтребвани ако не ping-ват определени Redis ключове след конфигурируемо количество време... и още знаеш ли колко неща. Like, damn. Сякаш тези хора смятат че Rails е играчка и никога няма да се ползва в multi-server / multi-region deployments. Boggles my mind in 2015, честно.
Сава е МНОГО прав. Диктатора на Rails си има собствено мнение; немалко пъти съм се намирал в съгласие с него защото бързо трупащата се сложност която много хора искат да контрабандират в Rails само ще го направи по-лош (и по-бързо ще го влоши, също) и от Tomcat v3/v4 и безумните бъгове и zero-day exploits в servlet implementations които имаше. Той е в немалка степен прав да се бори за по- "lean & mean framework", проблемът обаче е че когато идват хора при него с very legit and very often required use cases, тогава и той и другите си запушват ушите и почват колективно да пеят "не те слушам, не те слушам". Ако идеш да разгледаш на ActiveJob тикетите, само там вече ще ти се иска да ги линчуваш. Затова по-добре след това не отивай при core Rails issues. Предупреден си. ;)
Нищо от казаното не значи че Rails е лош. It's still awesome in many ways. Нито един пост и ред казан дотук от който и да е в тази дискусия не казва че е лош по принцип. Значи само че Rails е едно добро начало на проект и че трябва да си готов да monkeypatch-ваш или пускаш pull requests за gems, like a lot of times, когато искаш реални, практични и клиентски сценарии. Играчковите проекти които всички пускат за демо колко им е страхотен 200-те реда Ruby код не се броят.
Сава, high five. You are getting it.