Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Запуск js контента по cron-у / 21 сообщений из 21, страница 1 из 1
03.06.2013, 13:01
    #38283565
meg17m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
Есть файл с таким контентом:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
<html>
<head>
	<script type="text/javascript" src="jquery-1.9.1.min.js"></script>
	<script>
		
		function xignite() {
			$.post('getxignite.php', function(data) {
				TOTAL = "";
				first = data.indexOf('<Bid>');
				last = data.indexOf('</Bid>');
				tmps = "";
				for (i = first+5; i < last; i++) {
					tmps += data[i];
				}
				
				TOTAL += tmps + ';';
				
				firstirst = data.indexOf('<Rate Symbol="EURCHF">');
				first = data.indexOf('<Bid>',firstirst);
				last = data.indexOf('</Bid>',firstirst);
				tmps = "";
				for (i = first+5; i < last; i++) {
					tmps += data[i];
				}
				
				TOTAL += tmps + ';';
				
				
				firstirst = data.indexOf('<Rate Symbol="EURJPY">');
				first = data.indexOf('<Bid>',firstirst);
				last = data.indexOf('</Bid>',firstirst);
				tmps = "";
				for (i = first+5; i < last; i++) {
					tmps += data[i];
				}
				
				TOTAL += tmps + ';';
				
				
				firstirst = data.indexOf('<Rate Symbol="EURGBP">');
				first = data.indexOf('<Bid>',firstirst);
				last = data.indexOf('</Bid>',firstirst);
				tmps = "";
				for (i = first+5; i < last; i++) {
					tmps += data[i];
				}
				
				TOTAL += tmps + ';';
				
				
				/*
				firstirst = data.indexOf('<Rate Symbol="EURSEK">');
				first = data.indexOf('<Bid>',firstirst);
				last = data.indexOf('</Bid>',firstirst);
				tmps = "";
				for (i = first+5; i < last; i++) {
					tmps += data[i];
				}
				
				TOTAL += tmps + ';';*/
				
			
				$('#actualratesid').html(TOTAL);
			});
			
			$.post('getxignite2.php', function(data) {
				TOTAL = "";
				//alert(data);
				first = data.indexOf('1&nbsp;USD&nbsp;=&nbsp;');
				last = data.indexOf('&nbsp;RUB',first);
				tmps = "";
				for (i = first+23; i < last; i++) {
					tmps += data[i];
				}
				
				TOTAL += tmps + ';';
				data = document.getElementById('actualratesid').innerHTML;
				data += TOTAL;
				$('#actualratesid').html(data);
			});	
			
			
			$.post('getxigniteA.php', function(data) {
				$('#actualratesidA').html(data);
			});	
			
			
			
			data = document.getElementById('actualratesid').innerHTML;
			dataA = document.getElementById('actualratesidA').innerHTML;
			$.post("setxignite.php", { thedata: data, thedataA: dataA } , function(data) {$('#actualratesidData').html(data);} );
			
		}
		
		

	</script>
</head>
<body onload='setInterval(xignite, 2000);'>
<div id='actualratesid'></div><br><br><br>
<div id='actualratesidA'></div><br><br><br>
<div id='actualratesidData'></div>
</body>
</html>


Если открыть его в браузере все отрабатывает на ура и данные через
Код: php
1.
$.post("setxignite.php", { thedata: data, thedataA: dataA } , function(data) {$('#actualratesidData').html(data);} );


заносятся в базу, а вот если запускать этот файл кроном раз в час, скажем, то них не срабатывает, хотя крон отрабатывает без ошибок. В чем ошибка и как можно ее исправить?
...
Рейтинг: 0 / 0
03.06.2013, 13:08
    #38283583
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
А Вы крон где запускаете, у себя на локальном компе, или на сервере?
...
Рейтинг: 0 / 0
03.06.2013, 13:09
    #38283587
meg17m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
ShSerge, на сервере
...
Рейтинг: 0 / 0
03.06.2013, 13:19
    #38283613
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
MegaLasta, по крону у тебя тоже браузер запускается?
...
Рейтинг: 0 / 0
03.06.2013, 13:26
    #38283625
meg17m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
bazile,
Когда я в isp-manager-e нажимаю на зелененькую кнопочку "выполнить", у меня открывается пустая белая сраница с таким вот урлом:
Код: php
1.
https://ХХ.ХХХ.ХХХ.ХХХ/mancgi/cronrun?command=%2540hourly%2520%252Fusr%252Fbin%252Fwget%2520%252DO%2520%252Fdev%252Fnull%2520http%253A%252F%252Fforex2%252Ecom%252Fcron%252Fgetrates%252Ehtml%2520%253E%252Fdev%252Fnull%25202%253E%25261
...
Рейтинг: 0 / 0
03.06.2013, 14:24
    #38283767
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
MegaLasta,

А что Вы хотите запускать из-под крона? Можно страничку запускать из-под текстового браузера lynx (самое универсальное решение), если у Вас пхп - то из-под простейшей программы (если только гет-метод - file_get_contents достаточно, в универсальном случае cURL ).
...
Рейтинг: 0 / 0
03.06.2013, 14:37
    #38283782
meg17m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
ShSerge,

там подтягиваются и обновляются курсы с интервалом в 2 сек (
Код: javascript
1.
setInterval(xignite, 2000);

), мне нужно чтобы они все время обновлялись, то есть чтобы кроном запускалась html-страница и там все время каждые 2 сек. крутился этот скрипт. А чем в данном случае поможет lynx? он, по моему, js вообще не поддерживает
...
Рейтинг: 0 / 0
03.06.2013, 15:28
    #38283842
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
MegaLasta, ты запускашь wget который только качает страницу. JS он выполнять не умеет. Можно попробовать запустить lynx, но лучше сделать PHP страницу и настроить cron на ее "запуск" (через wget) каждые 2 минуты.
...
Рейтинг: 0 / 0
03.06.2013, 16:11
    #38283922
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
MegaLasta,

Вы уж определитесь, что Вам нужно - крон или яваскриптовый таймер.
...
Рейтинг: 0 / 0
03.06.2013, 16:28
    #38283940
meg17m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
bazile,

а можно пример, как запускать lynx?
...
Рейтинг: 0 / 0
03.06.2013, 16:38
    #38283957
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
lynx -dump -nolist >abc.txt
...
Рейтинг: 0 / 0
03.06.2013, 16:40
    #38283963
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
URL после linx только укажите.
...
Рейтинг: 0 / 0
03.06.2013, 16:48
    #38283977
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
MegaLasta,

Я плохо понимаю JavaScript, но у меня создается ощущение, что этим скриптом вы просто перекладываете данные "из одного кармана в другой" в пределах одного сервера. Если так, то оно наверняка делается намного проще - PHP-кодом или даже SQL-запросом.

Кстати, ни один из вышеприведенных советов не поможет выполнить этот JavaScript.
...
Рейтинг: 0 / 0
03.06.2013, 16:58
    #38283991
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
miksoft...Кстати, ни один из вышеприведенных советов не поможет выполнить этот JavaScript.
Ну, сабж такой, типа. Конечно, не сможет. Дык, ведь и не нужно же, если это дело нужно на сервере.
...
Рейтинг: 0 / 0
03.06.2013, 16:59
    #38283997
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
MegaLastaа можно пример, как запускать lynx?
По сути так же как и wget. Конкретные параметры смотри в справке - man lynx или lynx -help.

Однако ты идешь не в том направлении. Cron исходит из того что задачи запускаются, делают свою работу и завершаются. У тебя же по сути бесконечнное выполнение. Я бы все-таки переписал бы это на PHP. Тем более что ты похоже затеял это только ради запуска по таймеру.

Еще запрос раз в 2 секунды удивляет. А что если сервер ответит чуть медленее? А если он недоступен? При том что у тебя 4 post запроса внутри функции xignite. Если это чужой сервер, то при таком кол-ве запросов ты рискуешь быть забаненным. Увеличь интервал между запросами и добавь обработку ошибок.
...
Рейтинг: 0 / 0
03.06.2013, 17:00
    #38284000
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
miksoftу меня создается ощущение, что этим скриптом вы просто перекладываете данные "из одного кармана в другой" в пределах одного сервера. Если так, то оно наверняка делается намного проще - PHP-кодом или даже SQL-запросом.
Аналогичное мнение сложилось.
...
Рейтинг: 0 / 0
03.06.2013, 17:02
    #38284004
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
ShSergeДык, ведь и не нужно же, если это дело нужно на сервере.Ну так и страничку скачивать тоже не нужно, толку-то от этого?
Нужно либо таки выполнить этот JavaScript, либо переносить обработку ниже, например, на PHP.
...
Рейтинг: 0 / 0
03.06.2013, 17:11
    #38284026
meg17m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
miksoft,

Я с переносом обработки на уровень php бьюсь уже несколько дней. Там костыли через js реализованы, на чистом пхп там не получается
...
Рейтинг: 0 / 0
03.06.2013, 17:16
    #38284041
meg17m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
bazile
Еще запрос раз в 2 секунды удивляет. А что если сервер ответит чуть медленее? А если он недоступен? При том что у тебя 4 post запроса внутри функции xignite. Если это чужой сервер, то при таком кол-ве запросов ты рискуешь быть забаненным. Увеличь интервал между запросами и добавь обработку ошибок.

Забаненным я быть не могу, это сервис отдачи форекс-катировок, запрос раз в 2 сек - это нормально для них.
...
Рейтинг: 0 / 0
03.06.2013, 17:17
    #38284042
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
MegaLastamiksoft,

Я с переносом обработки на уровень php бьюсь уже несколько дней. Там костыли через js реализованы, на чистом пхп там не получается
Где это "там"?
Вам же ответили - скачать страничку на пхп гетом - одна строка, постом - cURLом - пара строк. Что Вы хотите делать яваскриптом - ху кновс.
...
Рейтинг: 0 / 0
03.06.2013, 17:19
    #38284045
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск js контента по cron-у
MegaLastabazileЕще запрос раз в 2 секунды удивляет. А что если сервер ответит чуть медленее? А если он недоступен? При том что у тебя 4 post запроса внутри функции xignite. Если это чужой сервер, то при таком кол-ве запросов ты рискуешь быть забаненным. Увеличь интервал между запросами и добавь обработку ошибок.

Забаненным я быть не могу, это сервис отдачи форекс-катировок, запрос раз в 2 сек - это нормально для них.
Если это форекс - прочитайте про его API.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Запуск js контента по cron-у / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]