Как сделать ограничение на количество запускаемых копия скрипта?

12
[Удален]
1482

Написал скрипт для определения всех внешних ссылок на сайте. Скрипт работает достаточно долго. Таким образом не исключено, что посетители моего сайта будут запускать его одновременно. В связи с этим такие вопросы:

1. Как протестировать сколько копий запущенного скрипта одновременно выдержит мой сервер?

2. Как ограничить программно количество запускаемых копий?

K8
На сайте с 24.08.2008
Offline
44
#1

Даже банально можно сделать так, на каждую запускаемую копию в текстовом файлике +1, вот и когда заглохнет ваш сервер, откроете файлик и посмотрите.

Таким же макаром на каждый запуск добавлять +1, по окончанию скрипта -1 из файлика, и в случае если в данный момент запущено более Nого числа, то выводить сообщение с ошибкой.

SunAdv.ru - Техническое сопровождение и поддержка веб-проектов (http://sunadv.ru/?source=se_ru)
[Удален]
#2
kpe8eg:
Даже банально можно сделать так, на каждую запускаемую копию в текстовом файлике +1, вот и когда заглохнет ваш сервер, откроете файлик и посмотрите.
Таким же макаром на каждый запуск добавлять +1, по окончанию скрипта -1 из файлика, и в случае если в данный момент запущено более Nого числа, то выводить сообщение с ошибкой.

да, сейчас сам уже это допер, а еще можно в БД хранить значение. Ладно буду ваять, тема закрыта.

Dim_K
На сайте с 11.07.2007
Offline
85
#3

Пишем следущий скрипт


#!/bin/bash

st=`ps aux | grep 'имя скрипта' | grep -v grep | wc -l`
if [ $st -le количество_скриптов_одновременно ]; then
# запуск скрипта
fi

запускать этот скрипт можно сколько угодно часто

S
На сайте с 28.10.2005
Offline
319
#4

> Написал скрипт для определения всех внешних ссылок на сайте. Скрипт работает достаточно долго

т.е. нет ограничения на глубину просмотра сайта?

[Удален]
#5
semenov:
> Написал скрипт для определения всех внешних ссылок на сайте. Скрипт работает достаточно долго

т.е. нет ограничения на глубину просмотра сайта?

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

T.R.O.N
На сайте с 18.05.2004
Offline
314
#6
plamar:
Скрипт работает достаточно долго.

а зачем такие скрипты вешать под WEB. Их лучше пускать асинхронно, а потом возвращать результаты юзеру.

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
T
На сайте с 13.01.2009
Offline
50
#7

T.R.O.N, +1 , на php обычно делают только морду

[Удален]
#8
T.R.O.N:
а зачем такие скрипты вешать под WEB. Их лучше пускать асинхронно, а потом возвращать результаты юзеру.

в php я еще не силен, подскажите какие функции используются для асинхронного запуска такого скрипта?

whites
На сайте с 28.10.2009
Offline
21
#9

plamar, сами поняли что сказали? Демона напишите лучше.

Либо демона на PHP под Cron, как вариант... 😂

whites добавил 10.12.2009 в 22:27

1. Как протестировать сколько копий запущенного скрипта одновременно выдержит мой сервер?

Берем и запускаем кол-во копий и, да глядим когда серв ляжет. (самый тупой вариант)

2. Как ограничить программно количество запускаемых копий?

Выше написали, также можно средствами ОС.

x-Strife Game Team
[Удален]
#10
whites:
plamar, сами поняли что сказали? Демона напишите лучше.

Либо демона на PHP под Cron, как вариант... 😂

whites добавил 10.12.2009 в 22:27

Берем и запускаем кол-во копий и, да глядим когда серв ляжет. (самый тупой вариант)


Выше написали, также можно средствами ОС.

понял, спасибо за ответ, просто в php еще недавно, демоны еще не писал. Нет случайно ссылочкий на хороший мануал по их написанию?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий