
26.03.2009, 09:41
|
|
Познающий
Регистрация: 26.11.2008
Сообщений: 40
С нами:
9188165
Репутация:
4
|
|
Подскажите как решить такую проблему:
Есть скрипт который добавляет людей подавших заявку в друзья на сайте вконтакте.
При запуске скрипт проверяет не удалена ли анкета и если удалена то удаляет ее из файла с аками. Скрипт запускаю с cron и иногда в файл с аками записывается несколько одинаковых логинов.
Может ли это происходить например из-за того что например один скрипт запущеный с cron еще не доработал и запустился снова. Если да то как это проблему решить.
|
|
|

26.03.2009, 11:05
|
|
Постоянный
Регистрация: 26.12.2007
Сообщений: 360
С нами:
9671366
Репутация:
332
|
|
Сообщение от foxxx1234
Подскажите как решить такую проблему:
Есть скрипт который добавляет людей подавших заявку в друзья на сайте вконтакте.
При запуске скрипт проверяет не удалена ли анкета и если удалена то удаляет ее из файла с аками. Скрипт запускаю с cron и иногда в файл с аками записывается несколько одинаковых логинов.
Может ли это происходить например из-за того что например один скрипт запущеный с cron еще не доработал и запустился снова. Если да то как это проблему решить.
тебе надо на время работы скрипта блокировать файл.....
вот кусочек кода:
PHP код:
$file= fopen ("file.txt", "r"); //это понятно открываем файл
flock($file,2); //flock используется для блокировки/разблокировки файлов
//заблокировали файл полностью
while (! feof($file) //теперь работаем с файлом записываем читаем... как пример считывание файла полностью..
{
$text = fgets ($file, 1024);
echo ($text);
}
flock($file,3);//разблокировали файл
//да и не забудь if else использовать для проверки открыт ли файл..
За блокировку отвечает функция flock(указатель на файл , вид блокировки). Вид блокировки обозначается цифрой (1 - частичная, 2 - полная). Чтобы разблокировать файл пользуйесь функцией flock, но вид блокировки поставьте "3". © WebCorp
|
|
|

26.03.2009, 15:09
|
|
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
С нами:
10077446
Репутация:
1020
|
|
Имхо идея с lock файлом в этом случаи более разумна чем просто лочить файл.
|
|
|

26.03.2009, 10:50
|
|
Новичок
Регистрация: 03.11.2007
Сообщений: 9
С нами:
9748340
Репутация:
12
|
|
чтобы скрипт не запускался два и больше раз, используй lock файл
Просто создавай файл при запуске скрипта, и постоянно проверяй его наличие .. при завершении скрипта файл удаляй ..
И так, если файл будет присутствовать, то скрипт будет ждать пока его не станет.
Надеюсь понятно излагаю)
|
|
|

26.03.2009, 15:30
|
|
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
С нами:
9042754
Репутация:
399
|
|
На хостинг запрещено заливать файлы > 5 Мб
Нужно как-то обойти это ограничение.
Появилась идея написать скрипт который на локальной машине будет резать файл, а на хосте потом склеивать, но что-то не улыбается мне эта идея.
Есть ли способы попроще. (смену хостинга не предлагать)
|
|
|

26.03.2009, 15:38
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами:
9410786
Репутация:
2731
|
|
но что-то не улыбается мне эта идея
т.е. не можешь написать или ты думаешь, что это плохая идея? Вовсе нет. Как на меня, имхо, самый оптимальный вариант.
|
|
|

26.03.2009, 16:02
|
|
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
С нами:
9042754
Репутация:
399
|
|
т.е. не можешь написать или ты думаешь, что это плохая идея?
Впринципе и то и другое, но больше 2-е.
Немного видоизменю вопрос.
Нужно занести дамп БД в мускул; я воспользовался для этого Sypex Dumper Lite 1.0.8, но вес сжатого дампа получается > 5 МБ.
Доступ к базе имеется только у хоста.
Может это можно сделать както иначе?
|
|
|

26.03.2009, 16:07
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами:
9410786
Репутация:
2731
|
|
Gray_Wolf, я хз что за скрипт, но попробуй подкоректировать так, чтобы лилось на другой хост. Т.е. в директорию типа ftp://user  ass@domain.com. Ну т.е.
PHP код:
fopen("ftp://user:pass@domain.com/sql.sql","a+");
fwrite($fp,$data);
fclose($fp);
|
|
|

26.03.2009, 16:09
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами:
9410786
Репутация:
2731
|
|
ЛИБО
Дампай через пхпмайадмин и выберай не запись в файл, а скачать файл.
|
|
|

26.03.2009, 16:11
|
|
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
С нами:
9042754
Репутация:
399
|
|
2mailbrush нужно сделать какраз обратное,
есть дамп его нужно загнать в мускул(к которому имеет доступ только сайт).
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|