1

Тема: Event Shellduler

Запускаю с помощью шелдуллера по расписанию Пал-скрипт в ночное время... В нём ночная отбивка. Но вот как его потом с энкодерса убрать или хотябы нажать стоп... в 6 утра, чтоб больше не играл? Ничо не понимаю.
Добавлено спустя       59 секунд:
Шелдуллер запускает скрипт, но не останавливает его чтоль?

Отредактировано Drakkar (30-11-2011 07:37:56)

2

Re: Event Shellduler

Он просто запускает скрипт в заданное время
Значит в скрипте у тебя стоит многократное выполнение PAL.Loop := True;

Отредактировано KyPIIaToB (30-11-2011 09:21:04)

В здоровом теле - здоровый дух!

3

Re: Event Shellduler

http://support.spacialaudio.com/wiki/Ho … in_time%3F

Тут хороший пример

http://radioheart.ru/banners/radioheart_400x40_banner.jpg
RadioHeart.ru: Функциональный радио хостинг с автодиджеем и нонстопом, а так же быстрый виртуальный хостинг. Возможность создать радио за 5 минут, подключить автодиджей и нонстоп.
Отзывы о хостинге

4

Re: Event Shellduler

Иными словами если мне нужно, чтоб скрипт трудился ежедневно только в период с 23-30 до 07-30, то я делаю его таким:

PAL.Loop := True;
var mytime : DateTime = now;
var I : Integer;
var start_time, end_time : DateTime;
start_time := date + EncodeTime(23,30,00,0);
end_time := date + EncodeTime(07,30,00,0);
if DayOfWeek(Now) = Wednessday then
begin
      if( mytime >= start_time) and (mytime <= end_time) Then
            begin
                WriteLn('Canvas Prog Hour!');
       Queue.AddFile('C:\CLOCK\non_slip.mp3',ipTop);
       cat['Station IDs (All)'].QueueTop(smRandom,NoRules);
       PAL.WaitForTime(T['+00:01:00']);
            end;
end;

Соответственно сама ночная отбивка в формате non_slip.mp3 должна находится в категории Station IDs (All)
И В принципе мне уже не нужен Event Shellduler.

Только каким образом в этом скрипте будет задаваться частота проигрывания джингла с 23-30 до 07-30 ? smile

Отредактировано Drakkar (01-12-2011 10:18:11)

5

Re: Event Shellduler

PAL.WaitForTime(T['+00:01:00']);
Тут стоит задержка на 1 минуту. Увеличь задержку и все

http://radioheart.ru/banners/radioheart_400x40_banner.jpg
RadioHeart.ru: Функциональный радио хостинг с автодиджеем и нонстопом, а так же быстрый виртуальный хостинг. Возможность создать радио за 5 минут, подключить автодиджей и нонстоп.
Отзывы о хостинге

6

Re: Event Shellduler

Коряво слепил скрипт ))) Лишь бы ка кто работало )))

В здоровом теле - здоровый дух!

7

Re: Event Shellduler

Вот ты такой умный, ни разу не любитель постебаться))) Я как смог, так слепил. У меня знания в этой области ограничены. Вот взял бы и помог...

Falcon Спасибо !

Отредактировано Drakkar (03-12-2011 03:06:03)

8

Re: Event Shellduler

Протестировал скрипт

PAL.Loop := True;
var mytime : DateTime = now;
var I : Integer;
var start_time, end_time : DateTime;
start_time := date + EncodeTime(23,30,00,0);
end_time := date + EncodeTime(07,30,00,0);
if DayOfWeek(Now) = Wednessday then
begin
      if( mytime >= start_time) and (mytime <= end_time) Then
            begin
                WriteLn('Canvas Prog Hour!');
       Queue.AddFile('C:\CLOCK\non_slip.mp3',ipTop);
       cat['Station IDs (All)'].QueueTop(smRandom,NoRules);
       PAL.WaitForTime(T['+00:01:00']);
            end;
end;

показывает ошибку компиляции на строке start_time := date + EncodeTime(23,30,00,0);
я уже переделывал эту строку на              start_time := date + EncodeTime['23,30,00'];
но ничего не помогло. чувствую, что делаю что то не то. помогите. Он мне нужен для запуска джингла с 23.30 до 07.30 утра

9

Re: Event Shellduler

Вообще скрипт настроен на среду у тебя.. Ты его только в среду гоняешь? )

Я так понимаю вот такой вариант тебе нужен

PAL.Loop := True;
var mytime : DateTime = now;
var I : Integer;
var start_time, end_time : DateTime;
start_time := date + EncodeTime(23,30,00,0);
end_time := date + EncodeTime(07,30,00,0);
if( mytime >= start_time) and (mytime <= end_time) Then
            begin
       Queue.AddFile('C:\CLOCK\non_slip.mp3',ipTop);
       cat['Station IDs (All)'].QueueTop(smRandom,NoRules);
       PAL.WaitForTime(T['+00:01:00']);
            end;

Тебе вообще что нужно? просто ночью через определенное время джингл чтоб играл?
Если просто тупо джингл то пробуй проще так)

PAL.Loop := True;
if (now >= T['23:30:00']) and (now <= T['7:30:00']) Then
            begin
       Queue.AddFile('C:\CLOCK\non_slip.mp3',ipTop);
       PAL.WaitForTime(T['+00:20:00']);
            end;

Отпишешься помогло или нет.
PAL.WaitForTime(T['+00:20:00']); Тут пауза, нужное сам поставишь.
Queue.AddFile('C:\CLOCK\non_slip.mp3',ipTop);  а это путь к твоему джинглу

Отредактировано KyPIIaToB (06-12-2011 16:14:16)

В здоровом теле - здоровый дух!

10

Re: Event Shellduler

KyPIIaToB: Да, мне нужно, чтоб ночью через определённое время играл джингл.
Я протестировал твой скрипт:

PAL.Loop := True;
if (now >= T['23:30:00']) and (now <= T['7:30:00']) Then
            begin
       Queue.AddFile('C:\CLOCK\non_slip.mp3',ipTop);
       PAL.WaitForTime(T['+00:20:00']);
            end;

Не работает sad
Он у меня должен начать играть ежедневно с 23-30 до 07-30 утра раз в 20 минут например (как указано в скрипте).
Запустил его, но он не сработал в 23-30. В строке скриптов он показывает running, хотя остальные другие скрипты пишут Waiting fo time (Это я про окошко Pal scripts)
А если в этом окошке два раза кликнуть по скрипту, то в открывшемся окошке Pal Scripting IDE выделяется сначала первая, затем вторая строчка.... затем по новой. И ничего не происходит.
Ведь скрипт должен проигрываться поверх песен?

Отредактировано Drakkar (07-12-2011 15:23:45)

11

Re: Event Shellduler

пишет Drakkar:

выделяется сначала первая, затем вторая строчка.... затем по новой.

значит now не равно или больше чем  T['23:30:00']) и не равно или меьше чем T['7:30:00']

12

Re: Event Shellduler

пишет tarasian666:

пишет Drakkar:

выделяется сначала первая, затем вторая строчка.... затем по новой.

значит now не равно или больше чем  T['23:30:00']) и не равно или меьше чем T['7:30:00']

Брр, 5 раз перечитал, повис вконец )))) Вобщем не понял, что делать нуна.

13

Re: Event Shellduler

Drakkar Ты чего тупишь то так жестоко? Ты мыслить вообще не умеешь, полный 0.. Во мля как так людям что можно объяснить не понимаю!

if (now >= T['23:30:00']) and (now <= T['7:30:00']) Then   - это правило обычное, если время больше или равно (>=) заданного времени (23:30:00) и меньше или равно (<=) заданного времени (7:30:00) то!
Выполняем дальше скрипт begin , добавляем данный файл в топ Queue Queue.AddFile('C:\CLOCK\non_slip.mp3',ipTop);  ждем PAL.WaitForTime(T['+00:20:00']); 20 минут и по кругу..
Если по правилу не проходит, то скрипт перекидывает в конец end;

Ну после такого разжёвывания для децкого ума должен даже самый тупой понять.

В здоровом теле - здоровый дух!

14

Re: Event Shellduler

Ребята, у него же не описана переменная now
PAL.Loop := True;
var now : DateTime;
if (now >= T['23:30:00']) and (now <= T['7:30:00']) Then
            begin
       Queue.AddFile('C:\CLOCK\non_slip.mp3',ipTop);
       PAL.WaitForTime(T['+00:20:00']);
            end;

Вот так должно по идее сработать

http://radioheart.ru/banners/radioheart_400x40_banner.jpg
RadioHeart.ru: Функциональный радио хостинг с автодиджеем и нонстопом, а так же быстрый виртуальный хостинг. Возможность создать радио за 5 минут, подключить автодиджей и нонстоп.
Отзывы о хостинге

15

Re: Event Shellduler

Не, на самом деле ошибка в and была

PAL.Loop := True;
var now : DateTime;
if (now >= T['23:30:00']) or (now <= T['7:30:00']) Then
            begin
       Queue.AddFile('C:\CLOCK\non_slip.mp3',ipTop);
       PAL.WaitForTime(T['+00:20:00']);
            end;

Вот так должно робить

Отредактировано KyPIIaToB (07-12-2011 23:14:27)

В здоровом теле - здоровый дух!

16

Re: Event Shellduler

пишет KyPIIaToB:

Не, на самом деле ошибка в and была

PAL.Loop := True;
var now : DateTime;
if (now >= T['23:30:00']) or (now <= T['7:30:00']) Then
            begin
       Queue.AddFile('C:\CLOCK\non_slip.mp3',ipTop);
       PAL.WaitForTime(T['+00:20:00']);
            end;

Вот так должно робить

Эмм..как бы нет. Там надо именно AND, чтобы выполнялись оба условия. OR не подходит

http://radioheart.ru/banners/radioheart_400x40_banner.jpg
RadioHeart.ru: Функциональный радио хостинг с автодиджеем и нонстопом, а так же быстрый виртуальный хостинг. Возможность создать радио за 5 минут, подключить автодиджей и нонстоп.
Отзывы о хостинге

17

Re: Event Shellduler

Как не странно, оба условия работаю, проверил сам.

PAL.Loop := False;
if (now >= T['23:10:00']) or (now <= T['10:30:00']) Then
            begin
Queue.AddFile('D:\1.mp3',ipTop);
PAL.WaitForTime(T['+00:20:00']);
            end;
В здоровом теле - здоровый дух!

18

Re: Event Shellduler

если or то условие будет выполняться всегда, в любое время

19

Re: Event Shellduler

пишет tarasian666:

если or то условие будет выполняться всегда, в любое время

Я вроде как написал, что лично проверил путем подстановки времени. Как раз таки с or оба правила работаю как нужно.

В здоровом теле - здоровый дух!

20

Re: Event Shellduler

ну впринципе если оно 22.00 прошлого дня не считает меньше чем 10.30 нынешнего - тогда понятно )
(ну или 22.00 сечас не считает меньше чем 10.30 завтра )

21

Re: Event Shellduler

Спасибо всем за ответы. Прям консилиум устроили )) КурИИатов, я не туплю жестоко, просто некоторые моменты мне не даются. Тестировал оба скрипта с or и с and .... с and вообще не работает чота. Даже до begin не доходит, а крутится на первых двух строчках. С or чуть проще. Доходит до строчки PAL.WaitForTime(T['+00:20:00']); и тут же выставляет в очередь джингл. Однако tarasian666 прав. Этот скрипт с условием or ведёт себя как-то странно и пускает джингл как ему хочется, а не в установленное время раз в 20 минут.

Отредактировано Drakkar (08-12-2011 18:51:37)

22

Re: Event Shellduler

Скрипт в любом случае будет если ставить в очередь, то через 20 минут, раньше или позже не может быть.

В здоровом теле - здоровый дух!

23

Re: Event Shellduler

Короче скрипт тестировался сутки. Посмотрел по history  -  скажу вам пренеприятнейшую вещь. Уже полдень, а ночной скрипт всё ставится в очередь. Это с переменной or

24

Re: Event Shellduler

Скажу проще, лично мне он не нужен, сделал без долго тестировал, у меня было все ок )
Дальше сам разберешься если будет нужно)
Могу постараться сделать рабочий 100%,лично его протестирую у себя за 10$ )

В здоровом теле - здоровый дух!

25

Re: Event Shellduler

Торг уместен? Давай за 3