- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем привет!
Как организовать работу с sqlite для долгого фонового процесса?
Есть php-скрип. Я открываю его в браузере и закрываю вкладку (процесс продолжает работу в фоновом режиме).
Есть второй скрипт, он только читает из бд.
Проблема в том, что изменения в бд не вносятся, пока не отработает первый скрипт.
Мне надо, чтобы превый скрипт работал в фоне, а во втором скрипте я сразу видел изменения.
Есть второй скрипт, он только читает из бд.
Проблема в том, что изменения в бд не вносятся, пока не отработает первый скрипт.
Второй скрипт открывается в том же браузере?
Попробуйте в режиме инкогнито к нему обратиться.. или в другом браузере.
Проблема в том, что изменения в бд не вносятся, пока не отработает первый скрипт.
Я не спец по sqlite, но там же транзакция открывается на 10.000 записей. Пока она не отработает, никаких изменений с таблицей быть не может.
p..s и где ее закрытие на последнем витке цикла ?
Второй скрипт открывается в том же браузере?
Попробуйте в режиме инкогнито к нему обратиться.. или в другом браузере.
Нет, дело не в кеше браузера.
---------- Добавлено 04.08.2019 в 09:45 ----------
Я не спец по sqlite, но там же транзакция открывается на 10.000 записей. Пока она не отработает, никаких изменений с таблицей быть не может.
p..s и где ее закрытие на последнем витке цикла ?
В конце бесконечного цикла есть закрытие транзакции. Пробовал разные условия $i для закрытия транзакции.
Фоновый процесс работает, журнал base.db-wal растет (уже 12 МБ), но транзакции не сбрасываются в бд. Только когда завершить процесс - тогда применятся измения в бд.
Как принудительно сбросить изменения в бд при PRAGMA journal_mode = WAL и при условии, что процесс еще не завершился?
Нет, дело не в кеше браузера.
ivan-lev имеет ввиду не кэш браузера. Под вас уже выделен процесс, который должен закончить свою работу.
ivan-lev имеет ввиду не кэш браузера. Под вас уже выделен процесс, который должен закончить свою работу.
Открыл второй скрипт (он только читает из бд) в другом браузере - нет изменений в бд.
Открыл второй скрипт (он только читает из бд) в другом браузере - нет изменений в бд.
1. Уменьшите счётчик для $i.. К примеру до 100.
2. Второй скрипт (читающий) в курсе про WAL?
Нет, дело не в кеше браузера.
Речь о сессиях в PHP.
kapusta77, как вы читаете базу данных? Скиньте код пожалуйста.
Только когда завершить процесс - тогда применятся измения в бд.
Как принудительно сбросить изменения в бд при PRAGMA journal_mode = WAL и при условии, что процесс еще не завершился?
Нашел ошибку в коде: повторно использовал $i в другом месте, в итоге процесс не заходил в условие, где надо закрывать транзакцию.
Спасибо всем откликнувшимся!