<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: старт скрипта по расписанию]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме старт скрипта по расписанию форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 20:02:55 +0300</pubDate>
		<item>
			<title>старт скрипта по расписанию</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message65896/topic7644/">старт скрипта по расписанию</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			====code====
<pre>isRun=0;&nbsp;&nbsp;--флаг завершения функции main
fstop=true;&nbsp;&nbsp;-- флаг остановки скрипта при запуске по расписанию
local Ts={"12:53:00","12:54:00","12:55:00","12:56:00","12:57:00","12:58:00","12:59:00",}&nbsp;&nbsp;-- расписание
for i=1,#Ts do local x=Ts&#91;i&#93; Ts&#91;i&#93;=60*(60*string.sub(x,1,2)+string.sub(x,4,5))+string.sub(x,7,8); end
------------
function main()
&nbsp;&nbsp;&nbsp;local jT,x=0,0;
--------------------------
&nbsp;&nbsp;&nbsp;while isRun do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if #Ts&#62;jT then&nbsp;&nbsp;local dt=-1;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if fstop then fstop=false;&nbsp;&nbsp;-- в колбеках первой строкой поставить if fstop then return end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x= getInfoParam("SERVERTIME");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local z=60*(60*string.sub(x,1,2)+string.sub(x,4,5))+string.sub(x,7,8);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while #Ts&#62;jT and 0&#62;dt do jT=jT+1; dt=Ts&#91;jT&#93;-z; end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if dt&#62;=0 then message(x.." до старта "..dt.."сек"); sleep(1000*dt); else sleep(1); end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
------------
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if fstop==false then&nbsp;&nbsp;x= getInfoParam("SERVERTIME"); &nbsp;&nbsp;&nbsp;message("старт "..x.." fstop="..tostring(fstop) ); end
 -- код скрпита
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fstop=true;&nbsp;&nbsp;--- остановить скрипт
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if fstop then &nbsp;&nbsp;&nbsp;x= getInfoParam("SERVERTIME");&nbsp;&nbsp;message("стоп&nbsp;&nbsp;"..x.." fstop="..tostring(fstop) ); end
&nbsp;&nbsp;&nbsp;end
end
</pre>
=============
Поясняю:<br />-------------------<br />Данный скрипт позволяет запускать исполняемый код в main и колбеки по расписанию Ts<br />---------------------<br />Остановка исполнения кода скрипта и колбеков осуществляется путем установки флага fstop=true.<br />---------------------<br />Чтобы не тратить время на колббеки когда скрипт не исполняется надо <br />поставить в начале колбека<br />if fstop then return end <br />
			<i>27.09.2022 13:05:52, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message65896/topic7644/</link>
			<guid>http://forum.quik.ru/messages/forum17/message65896/topic7644/</guid>
			<pubDate>Tue, 27 Sep 2022 13:05:52 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>старт скрипта по расписанию</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message65895/topic7644/">старт скрипта по расписанию</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			Добрый день,<br />Пример запуска скрипта по расписанию.<br />Если есть вопросы - пишите<br />
====code====
<pre>local isRun=0;&nbsp;&nbsp;--флаг завершения функции main
local fstop=true;&nbsp;&nbsp;-- флаг остановки скрипта при запуске по расписанию
local Ts={"12:53:00","12:54:00","12:55:00","12:56:00","12:57:00","12:58:00","12:59:00",}
for i=1,#Ts do local x=Ts&#91;i&#93; Ts&#91;i&#93;=60*(60*string.sub(x,1,2)+string.sub(x,4,5))+string.sub(x,7,8); end
------------
function main()
&nbsp;&nbsp;&nbsp;local jT,x=0,0;
&nbsp;&nbsp;&nbsp;while isRun do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if #Ts&#62;jT then&nbsp;&nbsp;local dt=-1;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if fstop then fstop=false;&nbsp;&nbsp;-- в колбеках первой строкой поставить if fstop then return end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x= getInfoParam("SERVERTIME"); --&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local x=os.date("%X");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local z=60*(60*string.sub(x,1,2)+string.sub(x,4,5))+string.sub(x,7,8);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while #Ts&#62;jT and 0&#62;dt do jT=jT+1; dt=Ts&#91;jT&#93;-z; end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if dt&#62;=0 then message(x.." до старта "..dt.."сек"); sleep(1000*dt); else sleep(1); end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if fstop==false then&nbsp;&nbsp;x= getInfoParam("SERVERTIME"); &nbsp;&nbsp;&nbsp;message("старт "..x.." fstop="..tostring(fstop) ); end
&nbsp;&nbsp;-- исполнение скрпита
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fstop=true;&nbsp;&nbsp;--- остановить скрипт
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if fstop then &nbsp;&nbsp;&nbsp;x= getInfoParam("SERVERTIME");&nbsp;&nbsp;message("стоп&nbsp;&nbsp;"..x.." fstop="..tostring(fstop) ); end
&nbsp;&nbsp;&nbsp;end
end

</pre>
============= <br />
			<i>27.09.2022 12:56:07, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message65895/topic7644/</link>
			<guid>http://forum.quik.ru/messages/forum17/message65895/topic7644/</guid>
			<pubDate>Tue, 27 Sep 2022 12:56:07 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
	</channel>
</rss>
