Просмотр полной версии : Возможно ли через AS выполнить код на сервере?
Idon'tKnow
06.06.2013, 23:58
Суть вопроса вот в чем, у меня есть некий код, очень объемный по времени выполнения, насколько объемный оценить трудно, но больше недели поработать придется, скорее всего. Так вот, возможно ли посредством AS3 или же через тот же PHP заставить его выполняться на сервере, без перерыров и т п. Т.е код будет работать, а компьютер будет выключен, такое возможно?
в php есть такое понятие как cron собственно он и выполняет все действия на севрере даже когда комп выключен
Idon'tKnow
07.06.2013, 00:23
NikolyA, отлично, Вы мне сильно помогли! Очень благодарен!
Добавлено через 2 часа 13 минут
Порекомендуйте, пожалуйста, хостинг, где нет ограничения на:
1. Время выполнения php скрипта.
2. На рекурсию.
3. memory_limit. (максимальный объем памяти в байтах, который разрешается использовать скрипту)
Прощу прощения за оффтоп, заранее благодарен каждому.
caseyryan
07.06.2013, 08:08
Какой задаче может потребоваться непрерывное выполнение в течение такого долгого времени?
Какой-нибудь перебор паролей?
Какой задаче может потребоваться непрерывное выполнение в течение такого долгого времени?
Какой-нибудь перебор паролей?
хм.. зачем думать о плохом? мало ли какие задачи стоят, ну например хочет собирать статистику на биржевых торгах, там данные обновляются каждую секунду
AlexCooper
07.06.2013, 12:31
в php есть такое понятие как cron собственно он и выполняет все действия на севрере даже когда комп выключен
Я надеюсь выключен пк пользователя?! Или я настолько древен что cron работает когда сервер выключен. о_О
Idon'tKnow
07.06.2013, 12:55
Не, не перебор паролей, намерения только хорошие :). Просто есть одна идейка, нашел 1 вариант, но объясните, мне, пожалуйста, что такое память на выполнение скрипта и как быстро она растет. Т.е, если парочку дней будет работать программа, но кол-во данных в программе расти не будет, т.е :
У меня было изначально 10 переменных, 10 и осталось, спустя парочку часов. Будет ли расти эта память?
Если пример не ясен, то я вот про эту штуку:
memory_limit integer
Эта директива задает максимальный объем памяти в байтах, который разрешается использовать скрипту. Это помогает предотвратить ситуацию, при которой плохо написанный скрипт съедает всю доступную память сервера. Для того, чтобы убрать ограничения, установите значение этой директивы в -1.
AlexCooper
07.06.2013, 13:32
Объясните суть задачи, достаточно я думаю будет хотя бы отдалённого примера. Интересно знать какие- такие расчеты с 10-тью переменными могут занимать такое длительное время.
Idon'tKnow
07.06.2013, 13:55
Я просто не хочу пока рассказывать, т.к немного суеверен, чем меньше рассказываешь, тем больше шансов, что всё получится. Обещаю, в случае успеха поделиться с Вами всеми. :) Мне нужно выполнить примерно
50 миллиардов итераций основного цикла +-(Я точного числа не знаю, но лично я думаю, что их еще раз в 10 меньше, но буду брать такую планку). А, например, вот задачка, где перебор 6-ти переменных нужен:
Американское математическое общество во вторник объявило о повышении награды до 1 миллиона долларов за доказательство гипотезы Била или за нахождение контрпримера.
Гипотеза
Если
29634
где 29635 — натуральные и 29636 , то 29637 имеют общий простой делитель.
То есть если вы подберёте такие числа, чтобы у A, B, C не было общего простого делителя, то заработаете миллион долларов. ...
На сегодняшний день проверены значения всех шести переменных до 1000. То есть в успешном контрпримере хотя бы одна переменная должна превышать 1000.
(вот ссылка на хабр (http://habrahabr.ru/post/182312/))...
Моя задачка вообще не из этой области, но расчёты мне нужны тоже не очень маленькие.
Так вот, объясните, пожалуйста:
1. Что такое memory_limit ?
2. Как и за счёт чего растет это значение?
Я нашел один вариант с сервером, но там это значение ограничено, не уверен, что оно мне нужно вообще такое огромное, поэтому и хочу уточниться у Вас всех.
Заранее благодарю!
Я надеюсь выключен пк пользователя?! Или я настолько древен что cron работает когда сервер выключен. о_О
ну вообщем суть крона такова что даже при выключенном ПК пользователя, крон который расположен на сервере продолжает работать, на счет выключение сервера - ну тут да, проблема, но мы ж не берем во внимание то что сервер будет выключен
AlexLucas
07.06.2013, 15:57
А зачем производить вычисления на именно на удалённом сервере?
Проведите тест на локалке, если всё нормально и не съедает всю память, ставьте в настройках на сервере -1 и удачи вам с вашим миллионом.
Idon'tKnow
07.06.2013, 16:21
Потому что я не знаю точное кол-во операций, которое мне нужно произвести. Да и то, что Вы предлагаете, это подходит лишь для локального сервера, т.к платные не дают memory_limit -1, есть ограничения на это свойство, а я не уверен, что мой компьютер быстро отработает код, да и вполне сгореть может от такого.
Про миллион - там 6 переменных, каждая была до 1000 проверена, даже для одной переменной уже 1000^1000, Вы представляете, что это такое? А мне нужно лишь 50 +- миллиардов операций основного цикла)))
Поэтому и спрашиваю, что такое memory_limit и от чего оно кушается, от времени работы? Или же от кол-ва переменных, используемых + от их значений(если есть строка и она растет постоянно). Т.е будет ли она расти, если кол-во переменных будет всё время константа + значение тоже будут постоянного типа?
ну вообщем суть крона такова что даже при выключенном ПК пользователя, крон который расположен на сервере продолжает работать, на счет выключение сервера - ну тут да, проблема, но мы ж не берем во внимание то что сервер будет выключен
Странная суть крона. Мне казалось оно больше про запуск по расписанию.
любой скрипт запущенный на серве по-идее должен выполняться пока не завершиться сам, либо его не угробит кто-то снаружи.
Добавлено через 7 минут
Потому что я не знаю точное кол-во операций, которое мне нужно произвести.
Сложность то алгоритма вы знаете?
Да и то, что Вы предлагаете, это подходит лишь для локального сервера, т.к платные не дают memory_limit -1
Смотря какие "платные"
да и вполне сгореть может от такого.
компьютеры от вычислений сгорают редко. От пожаров чаще.
Поэтому и спрашиваю, что такое memory_limit
Ну вы же сами привели описание.
На каком языке вы прланируете писать серверный скрипт?
и от чего оно кушается, от времени работы?
от количества данных и криво написанных программ.
Idon'tKnow
07.06.2013, 16:38
Скорее всего на php. 'от количества данных и криво написанных программ.', пример:
"Программа бесконечность!" -
<?php
$val = 0;
while (rand(5, 6) > $val){}
?>
Будет ли объём этой memory_limit - расти в таком случае?
Или вот пример 2:
"Программа бесконечность номер два!" -
<?php
$val = 0;
$s = "one=>";
while (rand(5, 6) > $val){
$s .= "1"; // мб тут нужно $s += "1"; , но это не суть в данном примере.
}
?>
php -r"while(rand(5,6)>1) { echo memory_get_usage().'--';}"
318840--318840--318840--318840--318840--318840--318840-
php -r"$s = "one"; while(rand(5,6)>1) { echo memory_get_usage().'--';$s .='s';}"
337024--337024--337024--337024--337024--337032--337032--
337048--337048--337048--337048--337056--337056--337056--
337072--337072--337072--337080--337080--337080--337080--
337096--337096--337104--337104--337104--337104--337104--
Добавлено через 3 минуты
http://habrahabr.ru/post/134784/
Idon'tKnow
07.06.2013, 17:14
Sync, огромное Спасибо!
Psycho Tiger
07.06.2013, 23:22
Вы, конечно, извините, но если Вы выберете язык пошустрее – например, Си – время расчетов снизится в десятки раз.
Idon'tKnow
07.06.2013, 23:39
Psycho Tiger, я понимаю, выбираю на данный момент, возможно, буду через делфи это реализовывать(паскаль мод).
Если алгоритм дюжа сложный - можно так не убиваться по хардкору и настрочить на C#, в 2-10 раз будет хуже чем на C/Pascal, но в разы быстрее чем на as3.
Java, наверно, не стоит брать - там сложнее что-то сделать и не напрячь при этом главный источник тормозов - GC. Возможности вставить критические куски в unsafe-режиме тоже нет.
Это если чисто алгоритм рассматривать. Если он у Вас графику обрабатывает - 95% производительности зависит от библиотеки/графического API/видеокарты, а не от языка.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.