Мне нужно выполнить длинный (от нескольких часов до часа) код matlab на стороне сервера и отправить пользователю его статус выполнения (0-100%). Я не могу отправить данные напрямую клиентской стороне, потому что клиент может отключиться и проверить статус часов спустя.
Должен ли я сделать это через базу данных? Мысль об обновлении базы данных через matlab / php, в то время как клиентская сторона (php через javascript / ajax) может запрашивать базу данных каждые несколько секунд, но я боюсь, что она очень «дорогая» (многие читают & Операции записи только для одного пользователя).
Что я должен делать?
Кстати, это внутренняя сеть, десятки пользователей, не более.
Вы не упомянули тип базы данных, которую вы используете.
Если это mysql и вы находитесь только во внутренней сети с несколькими десятками пользователей: да, вы можете использовать базу данных. Если вы хотите поддерживать операции чтения / записи на низком уровне, вы можете использовать MEMORY-Database-Engine для этой цели.
Также вы можете использовать Memcache для межпроцессного общения. Один процесс записывает в memcache, а другой — считывает значение.
Других решений пока нет …