Coder Social home page Coder Social logo

Comments (6)

dotzero avatar dotzero commented on August 30, 2024

Понимаю эту боль, но это не проблема библиотеки, а проблема серверов с AmoCrm, не думаю что проблемы серверов должна решать библиотека. Если вы готовы написать какой-то враппер над библиотекой для повторной отправки техе запросов в общем виде, то я всего раз PullRequest'ам. Но у меня самого врятли руки до этого дойдут в ближайшее время.

from amocrm-php.

unnamedfeeling avatar unnamedfeeling commented on August 30, 2024

@DarthLegiON Если не секрет, как Вы обрабатываете неудачные отправки данных!
Автору - огромная благодарность за такой крутой код!

from amocrm-php.

DarthLegiON avatar DarthLegiON commented on August 30, 2024

@unnamedfeeling через try ... catch, а потом генерирую и высылаю себе на почту такие случаи, чтобы знать, какие лиды потеряны.

К тому же в последнее время разрывы как-то подозрительно прекратились, и я перестал заниматьс поиском решения.

Проблема в том, что для повторной отправки запроса лучше перезапускать именно метод, отвечающий за curl, а не всю отправку - это повлечет за собой лишние действия. А curl закопан глубоко внутрь класса Request. Можно было бы его унаследовать, но от него зависят десятки других. Поэтому тут поможет либо инициатива разработчика плагина, либо чей-нибудь PR

from amocrm-php.

dotzero avatar dotzero commented on August 30, 2024

Как самое простое решение, я могу добавить какой-то метод retry(), и можно дергать его, что-то вроде:

do {
    $id = null;
    try {
        $amo = new \AmoCRM\Client();
        $contact = $amo->contact;
        $contact['name'] = 'ФИО';
        $id = $contact->apiAdd();
    } catch (\AmoCRM\Exception $e) {
        $contact->retry();
    }
} while($id === null);

Но если все это прекратилось, то может и нет смысла городить такие костыли?

from amocrm-php.

DarthLegiON avatar DarthLegiON commented on August 30, 2024

@dotzero у меня прекратилось (вроде бы), а у кого-то нет, судя по ответам тут. И надо как-то ограничивать количество этих "ретраев", в общем не все так просто.

from amocrm-php.

unnamedfeeling avatar unnamedfeeling commented on August 30, 2024

@dotzero , @DarthLegiON
Я еще не попал на эту проблему. На данном этапе - для себя сделал логгирование в файлах. Кроме того - я пока-что работаю с wordpress, а в нем есть очень крутая штука "псевдо-крон" (wp-cron) - вот его задействую чуть позже (пока еще не реализовал).
Меня лично данный вопрос заинтересовал до того как оно случилось и данные потеряны ;)
Как по мне - смысл в retry() есть - "лучше перебдеть, чем недобдеть".

from amocrm-php.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.