ФорумПрограммированиеPHP для идиотов → Посоветуйте решение для реализации многопоточности в похапе)

Посоветуйте решение для реализации многопоточности в похапе)

  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 21 сентября 2011 г. 19:36

    Вообщем, такая задачка.
    Нужно, сначала передав по SOAP'y некоторые данные на сервер(где и господствует php), там же(в соапе на серваке) запустить внешнюю программку в отдельном треде, после чего немедленно выйти из метода SOAP'a посредством возврата некоторого значения обратно (инициатору/клиенту соапа).

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

    Я ниразу не баловался с возможностями эмулировать мультитрединг на похапе, т.к. не было надобности до этого. Знаю лишь что по дефолту на самом деле такая фича отсутствует.

    Что можете посоветовать применить?
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 21 сентября 2011 г. 20:02, спустя 25 минут 37 секунд

    очереди сообщений?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 21 сентября 2011 г. 20:06, спустя 4 минуты 31 секунду

    к мнггопоточности это никоим образом не относится.
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 21 сентября 2011 г. 20:13, спустя 7 минут 18 секунд

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

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 21 сентября 2011 г. 20:26, спустя 12 минут 44 секунды

    ок, что за очередь сообщений? как она на пыхе применяется?
    Это не относится к событийно-ориентированному программированию, надеюсь…

    Мне по фигу как реализовать, главное чтобы можно было синхронно выполнить задачу не заставляя юзера ждать… ну и чтобы решение было оптимальное…
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 21 сентября 2011 г. 20:49, спустя 23 минуты 7 секунд

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

    Это если по-простому. Если делать круто - то нужно какое-нить решение для организации очереди, типа gearman
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 сентября 2011 г. 0:33, спустя 3 часа 44 минуты 4 секунды

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


    `/path/to/program $params &`;


    все блеядь ))))))))))))))))))))))))))))
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 22 сентября 2011 г. 0:42, спустя 8 минут 47 секунд

    так, стоп, а каким хуем ты туда данные передавать собрался? Аргументами программы?)
  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz 22 сентября 2011 г. 0:45, спустя 3 минуты 4 секунды


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


    `/path/to/program $params &`;


    все блеядь ))))))))))))))))))))))))))))


    +1 а еще nohup
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 сентября 2011 г. 1:04, спустя 19 минут 17 секунд

    Аргументами программы?)

    повыябывайся еще.
    Спустя 14 сек.


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


    `/path/to/program $params &`;


    все блеядь ))))))))))))))))))))))))))))


    +1 а еще nohup
    это как соль - "по вкусу"
    Сапожник без сапог
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 22 сентября 2011 г. 11:49, спустя 10 часов 44 минуты 13 секунд

    Абырвалг, да не важно… важно то что та программка должна выполнится.
    Ты предлагаешь кроном выполнить основной запрос из базы… и? А как быть с программой? тоже им выполнить? но опять же таки, выполнять надо параллельно…
  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz 22 сентября 2011 г. 15:29, спустя 3 часа 40 минут 9 секунд

    Напиши программу на C, и запусти ее через php =)
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 22 сентября 2011 г. 21:57, спустя 6 часов 28 минут 7 секунд


    gearman
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 23 сентября 2011 г. 19:00, спустя 21 час 2 минуты 38 секунд

    А вот в джаве многопоточность охуительная … ))))
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 23 сентября 2011 г. 19:08, спустя 8 минут 55 секунд

    многопочечники
    Спустя 26 сек.
    блин, почему при редактировании поста все висит?

Пожалуйста, авторизуйтесь, чтобы написать комментарий!