Ответы пользователя по тегу Демоны
  • Что не так c моим мега php "демоном"?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    TL;DR
    * Стартуйте воркеры через supervisor
    * Для очередей используйте сервер очередей, например rabbitmq
    * Используйте PSR-3 совместимый логгер

    1. Запускалка воркеров по крону... посмотрите supervisor, не создавайте костыльных велосипедов.
    2. Лок таблицы - жирно, очень жирно)) Лок записи - еще куда ни шло. Вы даже малую нагрузку так выдержать не сможете.
    3. Воркер - такая штука, что спокойнейшим образом может отвалиться, по этому лучше ее рестратовать сразу, см. supervisor
    4. В случае проблемных тасок рискуете потерять не отработавшие.
    5. Вы не проверяете аргументы методов - вот это печально, что будет, если вызвать
    $task->start("'; DROP TABLE " . PREFIX . '_tasks');

    6. Для логгирования очень рекомендую использовать что-то на базе PSR-3, Monolog например, не плодите костылей.
    7. В воркере вы локаете таску, в таскере разлокиваете, зачем таскеру это делать? Если уж так, то лок И анлок - задача воркера.
    8. Вы когда выгребаете новые таски, смотрите на lock=0, при завершении ставите lock=0, похоже на хрень. Получается одна и та же таска постоянно будет выполняться.
    Ответ написан
  • Какими способами можно поддерживать постоянно запущенное количество php-демонов?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    supervisor
    Ответ написан
    Комментировать