@rubylang

Страница 115 из 1684
Антон
20.06.2016
11:34:42
а, типа around_transition?

yopp
20.06.2016
11:34:57
да, только проблема что никто не умеет on_transition

Антон
20.06.2016
11:35:09
ну да, это боль еще и не thread_safe

yopp
20.06.2016
11:35:13
чо

Google
yopp
20.06.2016
11:35:24
причём тут ваще многопоточность

Антон
20.06.2016
11:35:27
state_machine не тредсейф например

я считаю что машина должна быть тредсейф - могу ошибаться

yopp
20.06.2016
11:55:20
вобщем вопрос походу сводится к тому, есть ли реализации недетерминированных конечных автоматов для руби

Антон
20.06.2016
11:58:22
не видел - придется писать самому

Can
20.06.2016
13:05:54
Недетерминированных?) А ниче что это np задача потом будет их решать?

Антон
20.06.2016
13:14:14
а что делать?

Can
20.06.2016
13:14:30
Я думаю вы просто недетерминированный автомат не так употребляете)

Выражение)

Антон
20.06.2016
13:14:43
до еды, 3 раза в день

Can
20.06.2016
13:14:47
=)

Антон
20.06.2016
13:16:41
вы там ученые, вот и объясните у нас есть система состояний, товара допустим НКА же?

Can
20.06.2016
13:17:03
Я не оч вчитывался, что вы тут писали и не совсем понял что вы хотели получить

Google
Can
20.06.2016
13:17:28
сейчас вчитался и все еще не оч понял)

Антон
20.06.2016
13:21:45
проблемы: 1) саый популярный state_machine обрабатывает процесс перехода состояния, все ок, но если в процессе перехода нужно совершать действия, нужно юзать - калбякаи - жуткий гемороррой, либо пишем сервис который будет водить объект по состояниям + выполнять какие-то действия: по сути создается абстракция которая управляет и состоянием объекта, целостностью данных и всяким таким простой пример: товар оплачен, списать 1 товар со склада 2) не thread_safe

1-й пункт спорный понятно, но хочется счастья

Can
20.06.2016
13:22:44
Ну я нигде здесь не вижу

перехода от детерминированного конечного автомата к недетерминированному

тут все так же как в обычном просто организация кода другая

Антон
20.06.2016
13:23:24
тогда пусть йопп рассказывает, третьим пунктом

Can
20.06.2016
13:24:05
Ну и соответственно все верно, если такого нет, то можно написать, но опять же все детерминировано все еще)

Антон
20.06.2016
13:26:23
ну значит у йоппа другие примеры есть

yopp
20.06.2016
13:45:05
вот например:

Для ряда событий исход не детерминирован самим переходом и зависит исключительно от того что там гейт решит

Антон
20.06.2016
13:48:02
а чем схемки рисуешь?

yopp
20.06.2016
13:48:16
yed

блевотный интерфейс, но лучше ничего не придумали пока

оно умеет само раскладывать диаграмы, это прямо киллер фича

Антон
20.06.2016
13:49:48
ну визио, но вот нету на маки визии

Can
20.06.2016
13:50:16
Ну гейт решит

Это просто расширенная часть

Обычного автомата

Google
Can
20.06.2016
13:50:46
Гейт под капотом тоже считай автомат

Это вам не недетерминированный надо автомат а просто либу которая умеет вставлять вместо подавьтомата функцию возвращающая след состояние

Я к тому что нагуглить что нибудь адекватное по недетрминированный автомат руби не удастся)

Это не он

в стандартной

руби

https://www.sitepoint.com/state-machines-in-ruby/

геме

транзишн производится по ивенту

и там ифы есть и все такое

Ты же можешь из кода своего обработчика нужные ивенты вызвать прост

yopp
20.06.2016
13:55:25
Это не он
с чего это не он, если это он :)

Can
20.06.2016
13:56:14
Недетерминированный это если совсем недетерминированный, если состояние совсем никак не определить и надо перебирать такие которые тебя к нужному результату приведут

Это np задача, это параллельные машины тьюринга

все такое. Тут же, насколько я понял, просто состояние должно приходить непойми откуда прост

yopp
20.06.2016
13:57:31
ДКА — переход возможен только в одно состояние НДКА — переход возможен в несколько состояний

Can
20.06.2016
13:58:14
В несколько = одновременно во все по одному и тому же входу

yopp
20.06.2016
13:58:27
ну, так у меня так и есть

Can
20.06.2016
13:58:38
ну где

yopp
20.06.2016
13:58:49
вход "Authrozie Requested", выход либо failed, либо там что-то ещё

Google
Can
20.06.2016
13:58:55
Ну

Только у тебя всегда будет точно известно

фейлд это или нет

просто это должна функция делать

yopp
20.06.2016
14:00:41
In deterministic automata, every state has exactly one transition for each possible input. In non-deterministic automata, an input can lead to one, more than one or no transition for a given state

Can
20.06.2016
14:00:57
ты неправильно это понимаешь)

one транзишн по инпуту это значит, что ты точно знаешь куда он будет транзитить по инпуту.

yopp
20.06.2016
14:01:47
In automata theory, a finite state machine is called a deterministic finite automaton (DFA), if * each of its transitions is uniquely determined by its source state and input symbol, and * reading an input symbol is required for each state transition.

Can
20.06.2016
14:02:04
input symbol это что у тебя по твоему?

Admin
ERROR: S client not available

Can
20.06.2016
14:02:15
Вот результат выполнения твой функции, которая понимает оплачен товар или нет

это и есть инпут

и если у тебя товар не оплачан, то оно идет в failed

все

ты должен делать финит стейт, который будет показывать переход между состояниями

и состояния не должны ничего выполнять сами

ты сами функции выполняешь, которые когда товар оплачен должны перекидывать его состояние в след кусок

yopp
20.06.2016
14:07:28
блин, я наверное способен переход от состояния отличить

а вообще проблема была не в этом, а в том что ни у state_mahcine, ни у aasm нет возможности задать нормальные обработчики перехода.

Can
20.06.2016
15:21:58
ну да

Google
Can
20.06.2016
15:22:06
ну еще возможно слишком много кода пытаешься внутрь запихать

стейтмашины

можно же этот код снаружи запускать а ивенты ток внутрь кидать

о том что пора переходить

yopp
20.06.2016
17:05:31
Антон
20.06.2016
19:35:05
йопп, ты забанил скачкова? а то что-то не слышно его

yopp
20.06.2016
19:35:15
да

Антон
20.06.2016
19:35:26
жаль

yopp
20.06.2016
19:35:38
ваще нет, смотри как спокойно стало

Антон
20.06.2016
19:35:55
ну я не люблю скачкова, но он умен... был

я работал с ним, мне понравилось, потому что он реально крут, и не понравилось потому что он... ненавижу его кароче

yopp
20.06.2016
19:38:58
рекомендую критически пересмотреть свою оценку «крутизны».

Антон
20.06.2016
21:38:57
ну и как?

критерий сильно субъективен

Adamtsov
21.06.2016
08:52:22
не подскажите как в бесплатном sidekiq дождать полного выполнения задач конкретной очереди

если смотреть сколько задач в очереди, то все ок до того момента пока все задачи из очереди не пойдут в работу

Антон
21.06.2016
08:54:42
ничего не понял

Adamtsov
21.06.2016
09:02:30
есть n-ое количество задач, которые выполняются воркерами

есть другая задача, которая должна дождаться выполнения этого n-ого количества задач

Антон
21.06.2016
09:14:09
а просто поставить ее последней в очереди никак?

gem 'sidekiq-status'

Страница 115 из 1684