Вопрос касательно api

Здесь дело в том, что это API создавалось в первую очередь для внутреннего использования, когда мы готовили ядро к работе в RadioBOSS Cloud. Для публикации это вообще не предназначалось, как и команды getencoder/setencoder и еще какие-то - они в публичную версию были добавлены просто потому что на это был запрос со стороны пользователей.
Из этого можно сделать вывод, что есть много скрытых команд в АПИ, которые могли бы быть очень полезны и позволили бы писать более функциональные и гибкие скрипты, но весь этот потенциал просто скрыт от пользователя... У меня верный ход мысли?..

Дмитрий, а вы прям помните все параметры, за что какой отвечает и т.д. Я не думаю.. наверняка у вас есть их описание, как-то комментируете их где-то себе или в коде или еще как. Почему бы это не внести в справку, сделать приятное пользователю, вместо того, чтоб изучать это все методом тыка. Ладно когда параметр обозван прям "просто переведи" вроде DoNotRunIfStopped , а если такое...

Imm - запускать задание точно в указанное время
вот это, к примеру, прям очень очевидно, интуитивно понятно...
 
Для публикации это вообще не предназначалось
Я прекрасно могу это понять и в целом, это достаточно общепринятая практика - в большом количестве продуктов есть т.н. недокументированные функции, которые как раз используются разрабами для своей внутренней кухни.

Но здесь прям классика про трусы и крестик. Ну, если уж во всеуслышанье кукарекнули про наличие API, (что на мой взгляд, ВСЕГДА и для ЛЮБОГО продукта является просто бомбическим преимуществом, поскольку позволяет вовлечь небезразличное и рукастое комьюнити и нагенерить кучу всего полезного), ну так задокументируйте хорошенько.

Imm - запускать задание точно в указанное время
Вот от этого у меня просто челюсть на пол упала. Насколько шикарная и полезная штука и насколько неинтуитивно названа. Опять таки понятно - что внутри кухни это и так всем понятно и что это сокращение от чего-то вроде ImmediateRun. Но блин!

В любом случае - спасибо хотя бы и на том!

наверняка у вас есть их описание, как-то комментируете их где-то себе или в коде или еще как. Почему бы это не внести в справку, сделать приятное пользователю, вместо того, чтоб изучать это все методом тыка
Так о чём и речь! Я понимаю, что классическая программистская лень может посоперничать разве что только с бесконечностью Вселенной, но наверняка внутри кода всё прекрасно откоментарено - иначе разработку больше чем в одно лицо вести невозможно.

Поделитесь, что разрабатываете используя АПИ?
С одной стороны я уже постил ссылку на разработанную кем-то библиотеку врапперов. К сожалению она явно заброшена и не весь функционал там реализован. В частности, всё что касается планировщика - там заглушка, код не дописан. То есть потихоньку её допиливаю, чем потом другие смогут воспользоваться - набор универсального кода.

С другой стороны, понятно, что речь идёт не о сферических конях. Я уже упоминал где-то, что мы используем RB как платформу для наших обучающих программ. Аудитория у нас русскоязычная, но разбросана по шарику - то есть это буквально все часовые пояса мира. Упражнения звучат циклически, но всё равно остаётся часть аудитории, которая отваливается из-за неудобства - часть упражнений звучит в неудобное время. Отсюда родилась (горячо поддержанная слушателями) мысль - запустить отдельный эфир, который бы они сами могли программировать (хочу такое-то упражнение в такое-то время по, например, тихоокеанскому времени). И здесь songrequest не вполне подходит, здесь всё можно сделать "по красоте" - как раз при помощи планировщика, умно настроив задания. Ну а для того чтобы умно его настраивать - нужно очень хорошо понимать, что делает каждый флаг в соответствующей части API.

Как-то так.
 
Скажем, вывести обложку играющего трека при помощи библиотеки сейчас можно элементарно:
Код:
echo '<img src="data:image/jpeg;base64,' .
$api->getTrackArtwork() .
' width="100" height="100">';
 
Из этого можно сделать вывод, что есть много скрытых команд в АПИ, которые могли бы быть очень полезны и позволили бы писать более функциональные и гибкие скрипты, но весь этот потенциал просто скрыт от пользователя... У меня верный ход мысли?..
Да, есть недокументированные команды, есть команды, которые отсутствуют в публичной версии. Отмечу по поводу таких команд: в текущем состоянии их публикация, зачастую, невозможна т.к. они не доведены по качеству до релиза.

Дмитрий, а вы прям помните все параметры, за что какой отвечает и т.д. Я не думаю.. наверняка у вас есть их описание, как-то комментируете их где-то себе или в коде или еще как
Список есть, но, как я говорил ранее, он не в том виде, чтобы его можно быть copy-paste на форум.

вот это, к примеру, прям очень очевидно, интуитивно понятно...
Это неочевидно, потому и дано описание этой команды на форуме.
 
Но здесь прям классика про трусы и крестик. Ну, если уж во всеуслышанье кукарекнули про наличие API, (что на мой взгляд, ВСЕГДА и для ЛЮБОГО продукта является просто бомбическим преимуществом, поскольку позволяет вовлечь небезразличное и рукастое комьюнити и нагенерить кучу всего полезного), ну так задокументируйте хорошенько.
Это стоит денег, документация в текущем виде достаточна для работы, все непонятные моменты можно пояснить на форуме. Сообщения публичные, потом другие тоже смогут найти.

Вот от этого у меня просто челюсть на пол упала. Насколько шикарная и полезная штука и насколько неинтуитивно названа. Опять таки понятно - что внутри кухни это и так всем понятно и что это сокращение от чего-то вроде ImmediateRun. Но блин!
Часть параметров были названы еще в далеком 2003 году, когда ни про какое API даже отдаленно речь не шла.

Так о чём и речь! Я понимаю, что классическая программистская лень может посоперничать разве что только с бесконечностью Вселенной, но наверняка внутри кода всё прекрасно откоментарено - иначе разработку больше чем в одно лицо вести невозможно.
Внутренняя документация и та, которую можно быстро выложить в публичный доступ это разные вещи.

Ну а для того чтобы умно его настраивать - нужно очень хорошо понимать, что делает каждый флаг в соответствующей части API.
Если остались непонятные параметры, скажите.
 
Это стоит денег
Стесняюсь спросить, а оплачивая лицензии, мы не покрываем ваши трудозатраты на создание ПО и его документацию? Или всё это добровольные пожертвования во имя спасения зайчиков на зелёной лужайке?

документация в текущем виде достаточна для работы
Это вы на каком основании пришли к таким выводам, благодарные пользователи сообщили?

Если остались непонятные параметры, скажите.
Обязательно спрошу, не сомневайтесь. Просто "документация в текущем виде достаточна для работы". Налицо некоторое противоречие, не находите?
 
Да, есть недокументированные команды, есть команды, которые отсутствуют в публичной версии. Отмечу по поводу таких команд: в текущем состоянии их публикация, зачастую, невозможна т.к. они не доведены по качеству до релиза.
А не соизволит ли Ваше Величество да за чашечкой чаю или кофе да поделиться.. пусть они там некрасивы и без галстуков эти команды, не страшно... Они же чето полезного делают, авось и пригодятся.. а там по надобности будем уточнять.. Это прям почти как так называемые "пасхальные яйца".. ))
 
авось и пригодятся
команды, которые отсутствуют в публичной версии
Я полагаю, ответ - строкой выше. Т.е. скажем собирается билд для клауда и билд для простых смертных и в последний эти команды банально не компилируются...
 
Стесняюсь спросить, а оплачивая лицензии, мы не покрываем ваши трудозатраты на создание ПО и его документацию? Или всё это добровольные пожертвования во имя спасения зайчиков на зелёной лужайке?
В каждой версии документация улучшается. Основные места, где происходят улучшения это те, по которым есть запрос. Вот про задания - вы первый, кто спросил. Думаю, в будущих версиях дополним.

Это вы на каком основании пришли к таким выводам, благодарные пользователи сообщили?
На основе того, что спрашивают на форуме/техподдержке по поводу использования API. Обычно - нужны какие-то новые команды, чтобы делать то, что раньше было делать нельзя.

Обязательно спрошу, не сомневайтесь. Просто "документация в текущем виде достаточна для работы". Налицо некоторое противоречие, не находите?
Нет, потому что есть созданные пользователями проекты для своих нужд, которые используют API и все необходимые задачи решаются. Это говорит о том, что API и документации достаточно для работы.
 
А не соизволит ли Ваше Величество да за чашечкой чаю или кофе да поделиться.. пусть они там некрасивы и без галстуков эти команды, не страшно... Они же чето полезного делают, авось и пригодятся.. а там по надобности будем уточнять.. Это прям почти как так называемые "пасхальные яйца".. ))
Лучше зайти с другой стороны: есть ли у вас задача (реальная), которая бы требовала нового функционала от API?
 
Лучше зайти с другой стороны: есть ли у вас задача (реальная), которая бы требовала нового функционала от API?
Я вас конечно понял, но еще с другой стороны идеи рождаются не только сами по себе, но еще и глядя на то что доступно. То есть я посмотрел список команд в справке и понимаю что можно с этим сделать.
 
Я вас конечно понял, но еще с другой стороны идеи рождаются не только сами по себе, но еще и глядя на то что доступно. То есть я посмотрел список команд в справке и понимаю что можно с этим сделать.
В этом случае можете просто смотреть, какие команды API будут добавляться в новых версиях.
 
Если остались непонятные параметры, скажите.
Говорю, точнее спрашиваю:

IntTimeToStart - понятно, что это время до следующего запуска - уточняю - в каких единицах это считается? приносит: либо 2147483647, либо что-то вроде 0,825575381946692

ManualStart - вероятно, какой-то флаг ручного запуска, не нашёл где и как он взводится

ItemImageIndex - ...\
ItemDuration -........... |> вот эти три вообще не нашёл о чём это.
ItemDurationTS -...../

TimeType - значение флага - 1 существует? И если да, то что значит?

Ещё вопрос - ключи нужно отправлять в той же очерёдности, как они у вас "сложены" в XML? Или очерёдность можно менять?

P.S. Остальные более менее расковырял. Расковыряв понял, что не хотел бы видеть нутра программы. :eek::eek::eek: Вы код прям с 2003 никогда не рефакторили? ;)
 
Последнее редактирование:
IntTimeToStart - понятно, что это время до следующего запуска - уточняю - в каких единицах это считается? приносит: либо 2147483647, либо что-то вроде 0,825575381946692
2147483647 значит, что запуска в ближайшее время не будет. 0..1..N - запуск в течение 24-48 часов, 1=24 часа, далее пропорционально можете посчитать.

ItemImageIndex - ...\
ItemDuration -........... |> вот эти три вообще не нашёл о чём это.
ItemDurationTS -...../
Это внутренние переметры и они не используются при редактировании заданий.

TimeType - значение флага - 1 существует? И если да, то что значит?
0 - обычный запуск по времени
1 - запуск по отмеченным часам
2 - несколько вариантов времени запуска

Ещё вопрос - ключи нужно отправлять в той же очерёдности, как они у вас "сложены" в XML? Или очерёдность можно менять?
Разницы нет. Можете вообще только указать те, что вам важны, остальные примут значения по умолчанию.

Расковыряв понял, что не хотел бы видеть нутра программы. :eek::eek::eek: Вы код прям с 2003 никогда не рефакторили? ;)
Я не знаю, откуда у вас это понимание, учитывая, что вы не видели ничего из кода.
 
2147483647 значит, что запуска в ближайшее время не будет. 0..1..N - запуск в течение 24-48 часов, 1=24 часа, далее пропорционально можете посчитать.
😲 о-о, никогда бы в жизни не догадался.. я подумал, что это в милисекундах... а тут так зашифровано..
 
Этот флаг меняет значение при активации повторов... bRepeat, наряду с nRepeatPer и nRepeat. Вы уверены, что он не имеет отношения к чему-то важному?

Забыли

никогда бы в жизни не догадался
Он имеет отношение к некому формату времени, где отсчёт ведётся с 30.12.1899, смутило значение 2147483647.

0 - обычный запуск по времени
1 - запуск по отмеченным часам
2 - несколько вариантов времени запуска
Не хотелось бы с вами спорить, но
1713784957153.png


при отмеченной галке на часах, TimeType приходит равным двум (2).

Время и день запуска: Время - 0, Часы - 2. Потому и спросил про - 1

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


;)
 
Последнее редактирование:
В догонку - вопрос об округлении плавающих. Если не сложно, @djsoft вот это значение (0.825575381946692) у вас в программе распознается, как 19:48:50 или как 19:48:49? Потому что на этих "мелочах" потом набегают ошибки...
 
ManualStart также внутренняя переменная и не используется для редактирования.

Этот флаг меняет значение при активации повторов... bRepeat, наряду с nRepeatPer и nRepeat. Вы уверены, что он не имеет отношения к чему-то важному?
Не имеет.

при отмеченной галке на часах, TimeType приходит равным двум (2).
Зависит от того, что вы выберете дальше в окне, нажав на "...".

И не хотел бы... Я ж вижу, как данные у вас организованы. Явно видно, что дописывалось позднее и просто сбоку было приклеено... Почему-то напомнило вот такую конструкцию
Все программы дописываются позднее, по другому просто не бывает. Не думаю, что у вас достаточно квалификации, чтобы делать какие-то выводы, поэтому лучше их не делать.
 
Зависит от того, что вы выберете дальше в окне, нажав на "...".
Увидел, спасибо.

Не думаю [...] лучше их не делать
Ну то есть вы и сами не думаете и другим не советуете :unsure: Понял. Принял. Духота такая, что аж дышать нечем...
 
Назад
Верх