Pull to refresh
102
0
Антон Титов @Lachezis

CTO and Co-Founder at Spiral Scout

Send message

Всегда можно сделать заголовки авторизации и ловить их в интерсепторах.

Учитывая что Workflow это статичный фасад на контекст то писать такие фабрики вполне допустимо, как и заворачивать часть логики в хелперы.

Каждый сервис имеет свой нейспейс где описаны интефейсы его активити + трейт для PHP. Это в идеале.

Основная разница в подходе управления потоком workflow. В Airtable как и большистве похожих решений идет распаковка DAG, т.е. если ваша логика ложится на него - все супер. В темпорал все управление императивное - простой код, т.е. можно и DAG (да, многие переносят свой DSL на Temporal), а можно и без него.

Если упрощенно - Airflow управляет стейтом сам, Temporal дает вам дергать за ниточки.

Разница становится очень заметной когда ваши бизнес процессы не ложаться на простую цепочку вызовов - циклы, условия, динамическое кол-во действий. Ну и плюс - все работает на множестве языков из коробки.

У нас весь ML стек гоняется через Temporal, нарадоваться не можем. Часть логики на Python, все управление на PHP.

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

class MyWorkflow {
    use SomeActivity;

    public function run() {
         yield $this->someActivity()->doSomething();
    }
}

Сильно упрощяет управление теми активити где политики запуска, task queue и ретраи не меняются в зависимости от родительского воркфлоу.

Добавлю комментарий - temporal.io успешно работает и на мелких проектах, и без проблем на Rasberry Pi.

Она монструозна в плане фич, но большинство из них вам все равно придется писать самим.

Отличная работа, предполагаю что должно работать шустрее чем родной tiktoken.

GitHub умер пытаясь отрендерить https://github.com/valmat/gpt-tokenator/blob/master/src/bpe_ranks.cpp
Ссылки на примеры в статье битые.

С недавних пор RoadRunner поддерживает интеграцию с Сentrifugo (взамен родной имплементации WS). Включая исходящий броадкаст и реакцию на RPC из centrifugo, можно делать очень клевые штуки. Здесь и сейчас.

Нейронки простенькие он тоже пишет ;)

Они пишутся несложно если знать что именно нужно, вот мой инпут:
write c++ class for arduino with variables tickInterval, tickValue and counter, class should have method set() which sets value of the counter, class should have method tick() each time this method called tickValue increased, when tickValue equals to tickInterval method should increase tickValue and toggle pin between HIGH and LOW
Ну и потом несколько сессий с полировками.

Незнаю как насчет полноценного приложения, но я за выходные смог написать C++ драйвер для шагового двигателя, Go хост и UI на Vue.JS (первый раз юзаю) с помощью ChatGPT. Возможность в несколько раз ускорить процесс прототипирования конечно поражает.

Привет, постараюсь ответить на часть вопросов.

1) Все сделано на стандартном PHP. :)

2) А активити (где и находится основная нагрузка) можно использовать что угодно, и оно даже может течь. :) В workflow - не надо, это чистый бизнес код.

3) Если вы посмотрите на код Saga - это 150 строчек хелпер кода над стандартным функционалом СДК, никто не мешает (а даже, поощряет) делать свои, более строго-типизированные, обертки.

Ну можно раскидать 5В, 3.3В и GND по отдельным слоям... правда еще 3 остается...

В части 2 будет про примитивы и конкретный код на ПХП. В итоге воркфлоу для пиццы (со всеми таймерами, ретраями и т.д.) должен занять всего 50-200 строк.

Так получилось что автор это я, чуть позже оформлю в отедельную статью.

Чуть больше деталей тут - https://www.reddit.com/r/raspberry_pi/comments/t8n70f/pcb_uv_machine_on_rpi/

Чуть позже я постараюсь написать стать об устройстве.

Поделюсь своим проектом на малинке. Фотолитографическая станция для изготовления печатных плат.

Information

Rating
Does not participate
Location
San Francisco, California, США
Registered
Activity