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

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

MyDC.ru _ Kорзина _ Периодический Рестарт Всех Скриптов

Автор: NikseR 22.11.2008, 23:08

Хотелось бы такой скрипт, который опционально через заданное время делал рестарт всех скриптов. Просто в данный момент я это делаю всегда вручную 2-3 раза в день для подстраховки на случай внезапного выключения света, чтобы настройки не так сильно сбились. Хотелось бы автоматизировать этот процесс, если возможно big_smile.gif

Автор: Wariner 22.11.2008, 23:59

Вот попробуй но я не знаю как его потестиь...

Автор: Nickolya 23.11.2008, 0:22

Только вот смысл проходить по всей таблице скрипта, в данном случае, "v"?? Если имя получается из "v.sName"??? Плюс "if q = "sName" then", надеюсь видишь ошибку, надо делать сравнение... Отправлений Опам тоже будет куча, т.к. оно в цикле!
И вот пока смотрел не случится ли беда если скрипт не запущен, увидел что у проблемы есть более простое решение:

Код
nTime = 6              -- Время перезагрузки скриптов(в часах)

function OnStartup()
    TmrMan.AddTimer(nTime*3600000, "ScriptMan.Restart")
end
Думаю будет работать...

Автор: Wariner 23.11.2008, 0:51

Меня смутило описание Restart scripting interface. я нот андестенд по англиийски beat_brick.gif

PS: на всякий случай ошибки исправил и прилагаю скрипт

 Restarter.lua ( 415 байт ) : 23
 

Автор: KauH 23.11.2008, 1:04

может кому пригодится exciting.gif API2 , время перезагрузки/сохранения 5 минут

 configuration_saver.lua ( 2.09 килобайт ) : 36
 

Автор: Nickolya 23.11.2008, 12:09

Держите под апи1, раз так надо:

Код
iTimer = 6    -- Время перезагрузки скриптов(в часах)

function Main()
    sBot = frmHub:GetHubBotName()
    SetTimer(iTimer*3600000)
    StartTimer()
end


function OnTimer()
    frmHub:RestartScripts()
    SendToOps(sBot, "*** Скрипты были перезапущены...")
end


2Wariner: на луа 5.1 collectgarbage должна иметь аргумент "collect" чтобы очистить память, у тебя это выглядит как переменная (без кавычек), а т.к. она не определена, это будет nil, и функция не будет делать того чего ты хочешь! И удаляй неправильные скрипты, а то потом разбираться среди всего этого... ;)

Автор: Ice 23.11.2008, 20:49

Чтото и рестартер пробывал и conf sever переделывал под 0,3,6,0 с луа 5,1,2 всё равно не перезапускает, вообще реакции никакой.. помогите плиз)

Скрипт Николя: вот такая ошибка Синтакс D:\...ripts\Restarter.lua:5: attempt to perform arithmetic on global 'iTime' (a nil value)

Николя, у тебя первая строка iTimer, а в 5 - iTime уточни либо там либо там)

Спасиба за скрипт))

Автор: Wariner 23.11.2008, 21:07

поменяй в любом из мест! так чтобы были одинаковыми)))

Автор: Nickolya 23.11.2008, 21:11

Угу, простите, мой косяк, поменял. Хорошо что видите ошибки!

Автор: NikseR 23.11.2008, 22:02

Wariner, спасибо за скрипт! Потестил, все работает - скрипты рестартятся, настройки скриптов сохраняются.

KauH, потестил ваш скрипт. В нем кроме настроек скриптов сохраняются еще и настройки хаба - такие как топик хаба или баны, что тоже слетает при перезагрузке. Это как раз то, что мне нужно! Большое вам спасибо big_smile.gif Wariner конечно тоже благодарность, но оставлю, пожалуй, ваш скриптик.

Автор: Setuper 24.11.2008, 12:52

я думаю, что логичнее было сделать периодическое сохранение в скриптах, которые в этом нуждаются - это бы не так затратно было нежели перезапускать все скрипты