Запуск задания из планировщика через API

1moment

Member
Здравствуйте. Помогите разобраться, что я делаю не так.
Дано:
Планировщик с заданиями
-День (запускается утром в указанное время и играет весь день) генерируется через PL Generator Pro
-Ночь (запускается вечером в указанное время и играет всю ночь) генерируется через PL Generator Pro
-Отбивка времени (ну тут все понятно проблем никаких)
!!!А еще есть задание ROCK (тоже генерируется через PL Generator Pro), которое я запускаю сам вручную нажатием кнопки ЗАПУСТИТЬ. При всех генерациях на мгновение появляется сообщение на сером фоне RadioBoss now loading, please wait (как при запуске PL Generator Pro) и появляется запись в ЛОГе: Command "generate [pro] День (или Ночь, или ROCK).
Хочу научиться запускать задание ROCK удаленно через API.
Создал команду: айпи:порт/?pass=пароль&cmd=generate [pro] ROCK
сообщение на сером фоне RadioBoss now loading, please wait появляется, НО запись в ЛОГе: Command "generate [pro] ROCK не появляется и соответственно ничего не происходит. Скажите что я делаю не так и как это победить?
 
Запись "command: ..." появляется только при запуске через расписание. Команды API не логгируются.

То, что генерация не срабатывает, похоже на ошибку - проверим.
 
Да проверьте пожалуйста. И еще если писать команду айпи:порт/?pass=пароль&cmd=generate День (без [pro]) то в ЛОГе появляется красная запись  PlGen Error: 1 (not enough tracks) preset: "ð”ðµð½ñŒ" и слово ДЕНЬ отображается кракозябрами и задание конечно же не стартует. Хотя в справке написано, что есть команда generate без [pro] для чего она тогда нужна? Ну и раз уж упомянул про "кракозябры" (кодировка русского шрифта) обратил внимание что если отредактировать русский тэг в RB или Музыкальной базе, то тэги перестают корректно отображаться на бытовых проигрывателях (муз. центры и автомагнитолы)
 
Метка [pro] была введена, когда было два генератора, старый и новый. Старый сейчас сохранен только для совместимости (чтобы обновления с очень старых версий работали без изменения настроек). Если вы не пользовались старым генератором, то приставку [pro] использовать не нужно.

Насчет другой проблемы с русскими буквами - добавлено в список ошибок. Вероятно, запрос обрабатывается в неправильной кодировке. Попробуйте назвать пресет английскими буквами.
 
Спасибо. Буду ждать решения проблемы с запуском через API
 
Подскажите. Есть задание. Называется RU. При его запуске через планировщик генерируется 2х часовой список русских песен и вставляется в начало играющего плейлиста НЕ УДАЛЯЯ его треки. При запуске этого задания через API генерируется 2х часовой список русских песен НО удаляется предыдущий плейлист. Так выглядит строка API:  ipАдрес:ПОРТ/?pass=ПАРОЛЬ&cmd=generate [pro] RU Так выглядит строка в планировщике  generate [pro] RU. Что нужно дописать в API чтобы не удалялся предыдущий плейлист?
 
Так происходит потому, что задание имеет опции запуска (поставить в очередь и т.п.), а прямой запуск команды ничего о таких опциях не "знает".

Можете запускать задание через API:
Код:
/?pass=ПАРОЛЬ&action=schedule&type=run&id=EVENTID
EVENTID - идентификатор задания, которое нужно запустить, его можно получить из списка заданий: открыв файл заданий в блокноте, или в браузере получить список заданий через API
Код:
http://ip:port/?pass=ПАРОЛЬ&action=schedule&type=list
 
Сохранил задание и открыл его блокнотом. Там следующее:
[event4]
EnabledEvent=1
DateTime=2015-10-07 23:13:42
FileName=generate [pro] RU
TaskName=RU
UseDate=0
EveryYear=0
Immediately=0
Above=0
MuteLev=100
Days=1111111
Weeks=00000
UseWeeks=0
DelPrev=0
DoNotRunIfStopped=0
PausePlaylist=0
Shuffle=0
Repeat=0
RepeatPeriod=1
RepeatCount=1
RepeatLimit=0
Enqueue=0
ClearPlaylist=0
UseDaysOfWeek=1
Hours=000000000000000000000000
Minutes=
Seconds=
TimeType=1
MaxTimeWaitOn=1
DoNotMarkAsScheduled=0
MaxTimeWaitSec=240
WaitAction=1
TaskNameAsTitle=0
DTMFOn=0
DTMFString=
DTMFExitOn=0
DTMFExitString=
DTMFOnly=0
FontColor=8388863
BackColor=12632256
GroupName=
UseFillers=0
FillersSource=
FillerMaxAmount=90
Minimized=0
DelTask=0
DelTaskTime=2015-10-07 23:13:42
DelTaskUseDate=0
ID=AQXADUMXTQYYCXIBEUVM


Я так понял EVENTID это последняя строчка????

http://IP:PORT/?pass=ПАРОЛЬ&action=schedule&type=run&id=AQXADUMXTQYYCXIBEUVM
Так запустится задание?

Ура!!! Заработало!!! Спасибо за помощь
 
Подскажите, а есть команда API для удаления файла? Именно физического файла, а не из плейлиста Например играет трек, а я удаленно посылаю команду и этот играющий трек пытается удалиться с жесткого диска. Я понимаю что он не удалится т.к. windows скажет, что "файл используется другим приложением", ЭТО и хорошо, ведь вдруг трансляция будет с запозданием. Но зато позже я увижу на рабочем столе сообщение системы и повторю попытку или отменю удаление.
 
1moment сказал(а):
Подскажите, а есть команда API для удаления файла?
Такой команды нет. В зависимости от конкретной ситуации, можете сделать задание, которое запускает .bat файл c командой удаления файлов, а само задание запускать по API.
 
djsoft сказал(а):
можете сделать задание, которое запускает .bat файл c командой удаления файлов
Вариант с bat-файлом не подходит. Откуда bat-файл узнает какой трек сейчас играет и где он лежит чтобы его оттуда удалить?
 
1moment сказал(а):
Вариант с bat-файлом не подходит. Откуда bat-файл узнает какой трек сейчас играет и где он лежит чтобы его оттуда удалить?
Тогда так этого не сделать. Если нужно проиграть файл и удалить, то можете использовать команду getfile - http://manual.djsoft.net/radioboss/ru/scheduler_commands.htm там такаф функция есть.
 
Необходимость удаления может возникнуть спонтанно. Cейчас это делаю через удаленное управление. Думал можно как-нибудь через API  :'(
 
Может, в будущем появятся команды для работы с файловой системой, но пока на ближайшее время таких планов нет.
 
Назад
Верх