0 / 0 / 0
Регистрация: 08.03.2017
Сообщений: 11
|
|
Запуск из одного PHP скрипта другого, не дожидаясь его завершения05.11.2018, 15:36. Показов 18162. Ответов 17
Метки нет Все метки)
(
Добрый день. Имеется php скрипт registratot.php и calculate.php.
Как мне вызывать выполнение calculate.php в registrator.php. При этом registrator.php не должен дожидаться окончания выполнения calculate.php. Другими слова, один сервер посылает на мой сервер запрос. Мне дается 10 секунд на то, чтобы вернуть строку "ok". Но, перед тем как вернуть эту строку, выполняется один скрипт, который может затянуться до 15-20 секунд. Хочу запускать этот скрипт в фоновом режиме, не дожидаясь окончания выполнения, отправлять "ok".
0
|
05.11.2018, 15:36 | |
Ответы с готовыми решениями:
17
Запуск внешнего скрипта и ожидание его завершения
Запуск одного скрипта из другого |
![]() 4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||
05.11.2018, 20:23 | ||
0
|
0 / 0 / 0
Регистрация: 08.03.2017
Сообщений: 11
|
||||||
05.11.2018, 20:50 [ТС] | ||||||
Ну тогда у меня проблемой будет, то что придется долго ждать ответ. В частности у меня это необходимо для бота. На сообщение он должен реагировать как можно быстрее (считать, выполнять какую-либо функцию).
Скрипт стоял на кроне, выполняясь каждую минуту, тем самым чтобы дождаться ответа нужно было дождаться начала следующей минуты. Пытался ускорить ответ следующим образом (имитировал крон на каждые пол секунды):
0
|
![]() 5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|||
06.11.2018, 06:56 | |||
Добавлено через 2 минуты
0
|
462 / 427 / 116
Регистрация: 15.02.2012
Сообщений: 1,931
|
||||||
06.11.2018, 17:04 | ||||||
![]() Решение
Крон не всегда удобно использовать из-за его временной ограниченности запуска, демона писать, тоже так себе затея, его контролировать нужно.
у меня в проекте такой вариант используется
Единственное чтобы контролировать хоть как-то приходится лог вести: собрал данные, отправил, и в вызываемом файле отметка что все обработано. это из-за того что бывают ошибки в данных.
1
|
462 / 427 / 116
Регистрация: 15.02.2012
Сообщений: 1,931
|
||||
07.11.2018, 09:38 | ||||
0
|
![]() 4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
07.11.2018, 10:27 | |
tgarl, нехорошо поскольку этот процесс становится дочерним для менеджера процессов php (apache или php-fpm), который не расчитан на такое поведение, и никто не гарантирует что это будет работать всегда (php-fpm например кидается варнингами на такие процессы). Также нет никакого контрооя за этими процессами. Для серьезных прректов в бою такое не допустимо.
Есте же готовые нормальные менеджеры очередей типа RabbitMQ.
0
|
462 / 427 / 116
Регистрация: 15.02.2012
Сообщений: 1,931
|
|
08.11.2018, 10:01 | |
Можете считать меня неадекватным сколько угодно, но я с вами не соглашусь. Это всего лишь уровень к которому нужно стремиться. Потому как с cерверами программист php разбираться не должен. Так же он не должен хорошо знать верстку и дизайн или к примеру asp. Это все разные области. Стремиться к саморазвитию и познанию других систем да, это хорошо. Но для работы с другими языками или системами есть другие специалисты. Просто сейчас работодатели ходят видеть универсалов, а большинству приходится если хотят работать идти на поводу из-за страха если я скажу что это ко мне не относится, мое место займет другой кто скажет "есть, будет сделано" и увы так и будет.
2
|
08.11.2018, 10:01 | |
Помогаю со студенческими работами здесь
18
Запуск одного скрипта из другого Запуск одного скрипта perl из другого Запуск скрипта для анализа папки и запуска другого скрипта Как из одного скрипта изменить переменную (int) другого скрипта? Unity - Обращение к публичным полям одного скрипта из другого скрипта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
|
Реализация конвейеров машинного обучения с Python и Scikit-learn
AI_Generated 23.04.2025
Мир данных вокруг нас растёт с каждым днём, и умение эффективно обрабатывать информацию стало необходимым навыком. Специалисты по машинному обучению ежедневно сталкиваются с задачами предобработки. . .
|
Контроллеры Kubernetes Ingress: Сравнительный анализ
Mr. Docker 23.04.2025
В Kubernetes управление входящим трафиком представляет собой одну из ключевых задач при построении масштабируемых и отказоустойчивых приложений. Ingress — это API-объект, который служит вратами. . .
|
Оптимизация кода Python с Cython и Numba
py-thonny 23.04.2025
Python прочно обосновался в топе языков программирования благодаря своей простоте и гибкости. Разработчики любят его за читабельность кода и богатую экосистему библиотек. Но у этой медали есть и. . .
|
Микросервис на Python с FastAPI и Docker
ArchitectMsa 23.04.2025
В эпоху облачных вычислений и растущей сложности программных продуктов классическая монолитная архитектура всё чаще уступает место новым подходам. Микросервисная архитектура становится фаворитом. . .
|
Создаем веб-приложение на Vue.js и Laravel
Reangularity 23.04.2025
Выбор правильного технологического стека определяет успех веб-проекта. Laravel и Vue. js формируют отличную комбинацию для создания современных приложений. Laravel — это PHP-фреймворк с элегантным. . .
|
Максимальная производительность C#: Span<T> и Memory<T>
stackOverflow 22.04.2025
Мир высоконагруженных приложений безжалостен к неэффективному коду. Каждая миллисекунда на счету, каждый выделенный байт памяти может стать причиной падения производительности. Разработчики на C#. . .
|
JWT аутентификация в Java
Javaican 21.04.2025
JWT (JSON Web Token) представляет собой открытый стандарт (RFC 7519), который определяет компактный и самодостаточный способ передачи информации между сторонами в виде JSON-объекта. Эта информация. . .
|
Спринты Agile: Планирование, выполнение, ревью и ретроспектива
EggHead 21.04.2025
Спринты — сердцевина Agile-методологии, позволяющая командам создавать работающий продукт итерационно, с постоянной проверкой гипотез и адаптацией к изменениям. В основе концепции спринтов лежит. . .
|
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров
Programma_Boinc 21.04.2025
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров.
3 марта 2025 года, в результате обобщенного поиска простых чисел Ферма в PrimeGrid был найден. . .
|