Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Kорзина _ Refresh

Автор: Mol 31.10.2008, 9:07

Здраствуйте, появилась необходимость перезапускать скрипты и текстовые файлы. Можно ли такое реализовать по заданному интервалу ? (by API 1)
Спасибо.

Автор: Setuper 31.10.2008, 11:22

Зачем по заданному интервалу? Существует команда: !reloadtxt
Перезалил текстовые файлы, отправил команду и радуйся жизни big_smile.gif

Автор: Mol 31.10.2008, 17:27

Внимательнее, я же сказал "перезапускать скрипты и текстовые файлы" а не "как перезапустить текстовые файлы". Мне нужен "Refresh" скриптов и текстовых файлов, 4ерез заданный промежуток времени. Реализовать это кто нибуть способен ?

Автор: sphinx 31.10.2008, 18:07

Перезагрузить все скрипты можно, текстовые файлы нет.

Автор: Mol 31.10.2008, 18:51

Мне кажется можно и то и другое, я просто в *lua не вникал, и не собираюсь. Поэтому надеюсь на присутсвующих тут скриптёров.

Автор: Setuper 31.10.2008, 18:57

sphinx прав. Нет функции для перезагрузки текстовых файлов, только команда! Не понятно зачем это понадобилось?

Автор: Mol 31.10.2008, 19:13

Цитата(Setuper @ 31.10.2008, 18:57) *
sphinx прав. Нет функции для перезагрузки текстовых файлов, только команда! Не понятно зачем это понадобилось?


Ну раз он прав, я извеняюсь перед ним. Но всё же не ужели нельзя сделать так, 4тобы команда посылалась хабу 4ерез какойто интервал ?

Понадобилась, уж поверьте. Такая идея просто так не возникнет.

Автор: Setuper 31.10.2008, 20:01

Средствами хаба не знаю как это реализовать.
Вот реализация со стороны клиента:

Устанавливай клиент, поддерживающий lua скрипты (например Pelink), и там в папке scripts пиши скрипт, назовём его, например, reload.lua:

Код
tSettings={
  bOn=true, -- true-вкл., false-откл.
  sHub="ip_адерс_хаба:порт", -- вписываем ip адрес и порт, если он (порт) указан для этого хаба в избранных хабах
  iC=1, -- счетчик (не трогаем этот параметр)
  iI=60 -- интервал между отсылками команд (в сек.)
}
dcpp={}
function tSettings:Timer()
  if self.bOn==true then
    if math.fmod(self.iC,self.iI)==0 then
      DC():SendPublicMessage(self.sHub, DC():ToUtf8("!reloadtxt"))
      DC():SendPublicMessage(self.sHub, DC():ToUtf8("!restartscripts"))
      self.iC=1
    end
    self.iC=self.iC+1
  end
end
function dcpp.OnTimer()
  tSettings:Timer()
end
DC():RunTimer(1)
DC():PrintDebug(DC():ToUtf8("Скрипт reload.lua запущен."))
DC():MessageBox(DC():ToUtf8("Скрипт reload.lua запущен."), DC():ToUtf8("Reloader by Setuper"), "ok", "warning")

Запустить скрипт можно, отправив в чат команду: /luafile startup.lua
Остановить скрипт можно, отправив в чат команду: /lua dcpp = {}

Что не понятно спрашивай. big_smile.gif

Автор: Mol 31.10.2008, 23:05

Понятно. Очень жаль, хаб по большой своей 4асти не кем не управляется, и я позволить весеть в трее клиенту не о4ень хо4у, за старания спасибо.

Не в тему, но всё же, не знаеш 4ем можно заменить скрипт заглушки ? желательно альтернативным скриптом, единсвенное 4тобы не грузил хаб. Именно когда заглушенно около 70 4еловек, скрипт ест память больше 4ем сама Ptokax.

Автор: Nickolya 1.11.2008, 7:47

И где ваша гениальность, люди? Для хаба есть библиотека lfs которая позволяет полноценно работать с файлами, с ее помощью можно организовать замену функциям птоки через скрипт... Я попробую реализовать вечером, если, конечено, никто не сделает до этого времени. big_smile.gif

Про гаг ничего не знаю, тебе нужен по ip? А стоит скорее всего от инсайда. big_smile1.gif Вообще, суть не в объеме памяти (тебе ее что, жалко?), а в нагрузке на процессор, так что может проблема и не столь важна.

Автор: Mol 1.11.2008, 8:12

Буду благодарен, если реализуете.

По поводу гаг, да по айпи, стоит действительно от инсайда, ну как то настораживает когда скрипт ест 17461kb, и это только при 200 uz., но когда ве4ером 4уть больше 500 uz. скрипт требует больше, хаб подлагивает) ну если вы говорите 4то "проблема не столь важна" то я успокоюсь. big_smile.gif

Автор: Nickolya 2.11.2008, 0:42

Как и обещал, скрипт обновляет файлы по интервалу (только с расширением txt), можно поменять папку с которой работает скрипт (путь указан от главной папки хаба), указывается куда отсылаются данные: в приват или общий чат. Библиотеку кладем в папку с PtokaX.exe

 textfilesmanagerandupdater_api1.lua ( 1.8 килобайт ) : 11
 PXLFS.rar ( 53.84 килобайт ) : 10
 

Автор: Setuper 2.11.2008, 0:58

кто компилил либу?

Автор: Mol 2.11.2008, 11:24

Огромное спасибо) А вот скрипты ещё рестартить ? возможноли ?

Автор: Nickolya 2.11.2008, 20:05

Либу кто компилил не знаю, скорее всего тот же PPK, взята с портала птоки.

А скрипт перегруза скриптов выглядит так:

Код
iTime = 600    -- время в секундах

function Main()
    SetTimer(1000 * iTime)
    StartTimer()
end

function OnTimer()
    frmHub:RestartScripts()
end

Автор: Mol 2.11.2008, 21:06

Спасиб большое)