Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Необходимо написать реализацию асинхронного АПИ на ПХП

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
imedia
Отправлено: 04 Февраля, 2016 - 14:43:33
Post Id



Частый гость


Покинул форум
Сообщений всего: 192
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




Необходимо написать реализацию асинхронного АПИ на ПХП, а так же класс обертку для реализации запросов к нему на JavaScript.
Соот-но должен быть JS объект со следующим интерфейсом.

object AsyncApi {
public anyMethodName(),
public getRandomString()
}

var s = AsyncApi.getRandomString();

соот-но любой публичный метод делает запрос на сервер и получает ответ, если запрос еще выполняется, то сервер отдает ответ в JSON вида
{status: 'inprogress'}

соот-но AsyncApi выполняет запрос с определенным интервалом (допустим раз в 3 секунды) и проверяет статус ответа, до тех пор пока он не станет либо done либо error

В свою очередь при первом запросе сервер создает задачу и сохраняет ее в memcached (в тестовом задании можно сохранять в любое хранилище, в файл например), и сразу же отдает ответ {status: 'inprogress'}. И далее в фоне продолжает выполнять задание. Как только оно будет выполнено - он пишет в хранилище результат и при следующем запросе к АПИ его отдаст {status: 'done', result: {...}}
 
 Top
OrmaJever Модератор
Отправлено: 04 Февраля, 2016 - 15:34:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




imedia пишет:
реализацию асинхронного АПИ на ПХП

imedia пишет:
если запрос еще выполняется, то сервер отдает ответ в JSON вида
{status: 'inprogress'}

вас как бы не смущает что при каждом обращении к php скрипту создается новое окружение и каждый следующий скрипт не знает о предыдущих? Я конечно понимаю что можно как-т о в файлы писать статусы выполенения, но это всё костыли и бред.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
imedia
Отправлено: 04 Февраля, 2016 - 18:28:06
Post Id



Частый гость


Покинул форум
Сообщений всего: 192
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




Уважаемый OrmaJever по всему видно что вы хорошо разбираетесь в этом вопросе.
А я совершенно не знаком с реализацией.
Не могли бы вы как бы описать по плану необходимые действия
быть может есть статьи с которыми необходимо ознакомится прежде чем приступать к реализации

(Отредактировано автором: 04 Февраля, 2016 - 18:28:56)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB