
Максим
05.08.2018
22:52:06
но странно я думал рельсы всё что в /app загружают

Иван
05.08.2018
23:06:31

Максим
05.08.2018
23:08:50

Alexey
05.08.2018
23:15:00
выглядит, как жуткий хак

Google

Максим
05.08.2018
23:15:31
вот и я хз чё делать то

Иван
05.08.2018
23:15:32
хрен его знает, проблемы с автолоудом вообще обычно из за неправильного наименования файла/класса. Но раз у тебя в консоле подгружается а в джобе нет, то видимо не из за этого

Максим
05.08.2018
23:16:08
имя файла - rate_getter.rb
имя класс - RateGetter

Alexey
05.08.2018
23:16:25
вообще whenever запускает все таски через rails runner, который наверняка делает require всех файлов из app/

Максим
05.08.2018
23:17:08
так через него и запускаю

Alexey
05.08.2018
23:20:47
попробовал сейчас у себя запустить вот так:
bundle exec bin/rails runner -e development 'MyJob.perform_now'
все отработало нормально - в джобе, соответственно, дергается сервис.

Максим
05.08.2018
23:22:50
да, у еня тоже так прошло

Alexey
05.08.2018
23:23:02
а как не прошло?

Максим
05.08.2018
23:23:06
из консоли тоже всё отлично видно и работает
когда крон выполняет
ну т.е. когда не вручную зову
сама джоба вызывается, всё делается выполняется, но доходит до вызова того класса и вс

wi11son
05.08.2018
23:34:52
А почему ты от ActiveJob наследуешься?

Google

Максим
05.08.2018
23:35:39
обычная джоба сегенерированая рельсой

wi11son
05.08.2018
23:35:40
Попробуй сделать просто класс и дёргать его из whenevera

Максим
05.08.2018
23:35:49
ща
заработало
интересно почему так

wi11son
05.08.2018
23:39:30
Потому что рельса - источник силы и молодости
Угадал, короче, но я из проекта AJ выпиливаю сразу после тупболинкс
А нынче ещё и Active storage.
Но, скорее всего у тебя все работало
Просто AJ выполняется в отдельных тредах, откуда ничего тупо не писалось в лог
А в консоли - инлайн стратегия

Максим
05.08.2018
23:43:14
не, это он по началу не писал в лог
потом я поправил и начал
он потом не хотел из класса джобы вызывать класс сервиса
не видел его тупо
или я тебя не так понял?

wi11son
05.08.2018
23:43:58
Так

Anton
06.08.2018
00:21:28
или я тебя не так понял?
Интерактор - разновидность сервис обьекта просто. Сервис объект может что угодно возвращать, а интерактор - объект результат

Максим
06.08.2018
00:22:02
а, типа ожидается что у результата интерактора можно будет спросить успешно или не успешно всё прошло?

Google

Anton
06.08.2018
00:22:11

Максим
06.08.2018
00:22:13
спасибо

Anton
06.08.2018
00:22:18
Ну как я это понимаю
Те если взять ддд, там будет сервис объект, который действие в себе совмещает
Вот интерактор - разновидность просто

Subb98
06.08.2018
07:11:15
добрый день. будет ли ок такая запись:
RealtyObject.find(params[:id]).delete if params[:id].present?
или перед удалением нужно обязательно проверить, что запись существует?

Alexey
06.08.2018
07:15:19

Subb98
06.08.2018
07:15:53
это апи метод ) я хочу понять, AR выбросит в этом случае что-то или скушает? )
я просто не могу сейчас проверить в консоли

Alexey
06.08.2018
07:16:49
если RealtyObject с id не будет в базе, будет 404 ошибка, а там смотря как и кто выше эту ошибку обрабатывает
и 5 копеек, что если используются колбеки на моделях, лучше сразу destroy юзать

Subb98
06.08.2018
07:18:24
ок, спасибо )

Alexander
06.08.2018
07:21:16

wi11son
06.08.2018
07:48:35

Roman
06.08.2018
08:45:38
сам AJ ничего не запускает - это только интерфейс
если бекенд Sidekiq - то да, в тредах сайдкик сервера, с логгером сайдкика

Admin
ERROR: S client not available

wi11son
06.08.2018
08:49:39
это была догадка
я ведь тупо угадал, что если не наследоваться от AJ — заработает

Google

Roman
06.08.2018
09:12:49
ну это не значит что это проблема AJ

Darth
06.08.2018
12:42:27
Как в модуле получить имя контроллера/неймспейс который его вызвал?
А ещё как в модуле вызвать методы из этого же модуля?

Alexey
06.08.2018
12:45:42
получить рубишный стек можно методом caller
https://apidock.com/ruby/Kernel/caller
но наверное это не совсем то
получить рельсовые имя контрллера с неймспейсом/имя метода
controller_path/action_name
https://api.rubyonrails.org/classes/AbstractController/Base.html#method-i-controller_path

Иван
06.08.2018
13:31:47

Darth
06.08.2018
13:34:38

Олег
07.08.2018
07:08:53
всем привет! подскажите, возможно ли на хероку сохранять кеш после перезагрузки dyno? Речь о :file_store

Andrey ?
07.08.2018
07:09:57

Олег
07.08.2018
07:10:21
а есть варианты?
только редис или мемкеш?

Andrey ?
07.08.2018
07:11:39
А какие еще варианты нужны?)

Олег
07.08.2018
07:12:38
нужен такой вариант, чтобы закешированные страницы оставались в кеше до тех пор, пока их содержимое не изменится)
в коде я использую везде матреху, по идее так и должно быть, да вот эти ночные хероковские перезагрузки...

Andrey ?
07.08.2018
07:18:04
Редис и мемкеш для этого не подходят?

Олег
07.08.2018
07:18:44

Dmitry
07.08.2018
07:19:28
Редис вроде бесплатный есть, но там правда 30мб или около того*

Олег
07.08.2018
07:20:31
да, именно так, но 30 метров это довольно мало

Nikolay
07.08.2018
07:29:41
а если у тебя большой проект, то заплатить хероке копейки уж можно)

Google

Nikolay
07.08.2018
07:30:26
там базовый пакет стоит дешман
дешевле кофе в старбаксе

Олег
07.08.2018
07:31:26
ну я пытаюсь вычислить размер кеша по file_store и у меня выходит 10 метров после серфинга около 30 страниц