скармливание сабмитов
здравстуйте,
по некоторым причинам нам удобней использовать свой интерфейс отправки посылок и т.п.
в качестве интерфейса сайт на соседнем сервере.
возник вопрос, как это наиболее удобней и правильней сделать на вашей тестируюзей системе?
в частности проблема "скармливания" своих сабмитов. можно конечно отправлять через веб-интерфейс ejudge, но мне почему-то кажется что это не очень правильно.
если нет каких-либо уже готовых утилит для этого, я был бы благодарен, если вы укажете на что именно в исходниках стоит обратить внимание при написании своего "продукта".
по некоторым причинам нам удобней использовать свой интерфейс отправки посылок и т.п.
в качестве интерфейса сайт на соседнем сервере.
возник вопрос, как это наиболее удобней и правильней сделать на вашей тестируюзей системе?
в частности проблема "скармливания" своих сабмитов. можно конечно отправлять через веб-интерфейс ejudge, но мне почему-то кажется что это не очень правильно.
если нет каких-либо уже готовых утилит для этого, я был бы благодарен, если вы укажете на что именно в исходниках стоит обратить внимание при написании своего "продукта".
Re: скармливание сабмитов
Посмотрите на new-server-control. Эта программа позволяет выполнять многие действия из командной строки.
Re: скармливание сабмитов
странно. кроме stop/restart/status я команд не нашел.
или вы имели ввиду new-server-cmd?
или вы имели ввиду new-server-cmd?
Re: скармливание сабмитов
да, new-server-cmd
Re: скармливание сабмитов
Добавлена документация на new-server-cmd:
http://www.ejudge.ru/wiki/index.php/New-server-cmd
Обратите внимание, что она соответствует текущей версии в SVN. По сравнению с версией 2.3.8 были изменены названия нескольких команд и исправлены несколько ошибок.
http://www.ejudge.ru/wiki/index.php/New-server-cmd
Обратите внимание, что она соответствует текущей версии в SVN. По сравнению с версией 2.3.8 были изменены названия нескольких команд и исправлены несколько ошибок.
Re: скармливание сабмитов
1)я еще в 2.3.7 исправлял эту, на мой взгляд, все-таки ошибку.
мне кажется, в new-server-cmd.c функция parse_int должна выглядеть примерно так:
но и в 2.3.8 она тоже осталась
2)мне кажется, функция prepare_submit_run должна информировать о run_id, присовенном посылке, чтобы потом мониторить результат.
я попытался исправить этот недочет, но хоть и работает, получилось криво
заранее спасибо
мне кажется, в new-server-cmd.c функция parse_int должна выглядеть примерно так:
Code: Select all
static int
parse_int(const char *str, int *p_val)
{
int v;
char *eptr = 0;
errno = 0;
v = strtol(str, &eptr, 10);
if (errno || *eptr) return -1;
*p_val = v;
return 0;
}
2)мне кажется, функция prepare_submit_run должна информировать о run_id, присовенном посылке, чтобы потом мониторить результат.
я попытался исправить этот недочет, но хоть и работает, получилось криво
заранее спасибо
Re: скармливание сабмитов
1) нужен текущий SVN snapshot;sufix wrote:1)я еще в 2.3.7 исправлял эту, на мой взгляд, все-таки ошибку.
мне кажется, в new-server-cmd.c функция parse_int должна выглядеть примерно так:но и в 2.3.8 она тоже осталасьCode: Select all
static int parse_int(const char *str, int *p_val) { int v; char *eptr = 0; errno = 0; v = strtol(str, &eptr, 10); if (errno || *eptr) return -1; *p_val = v; return 0; }
2)мне кажется, функция prepare_submit_run должна информировать о run_id, присовенном посылке, чтобы потом мониторить результат.
я попытался исправить этот недочет, но хоть и работает, получилось криво
заранее спасибо
2) при посылке присвоенный run_id печатается на стандартный поток вывода.
Re: скармливание сабмитов
спасибо.
странно, но при отправке решения с помощью команды run-submit ничего в stdout не выводится
странно, но при отправке решения с помощью команды run-submit ничего в stdout не выводится
Re: скармливание сабмитов
здравствуйте,
правильно ли я понимаю, что пока нет другого способа смотреть подробную информацию о том как run проходил конкретные тесты(для score_system=kirov/olympiad) кроме как в var/archive/xmlreports?
правильно ли я понимаю, что пока нет другого способа смотреть подробную информацию о том как run проходил конкретные тесты(для score_system=kirov/olympiad) кроме как в var/archive/xmlreports?
Re: скармливание сабмитов
Тоже интересно. К тому же, если все время лазить в файлы, чтобы посмотреть результаты проверки, то есть риск заблокировать запись в файл именно в тот момент, когда система захочет в него что-нибудь записать...
Re: скармливание сабмитов
http://www.ejudge.ru/wiki/index.php/New ... ump-reportsufix wrote:здравствуйте,
правильно ли я понимаю, что пока нет другого способа смотреть подробную информацию о том как run проходил конкретные тесты(для score_system=kirov/olympiad) кроме как в var/archive/xmlreports?
Re: скармливание сабмитов
Запись в файл не заблокируется, но есть риск получить частично обновленный файл.vk wrote:Тоже интересно. К тому же, если все время лазить в файлы, чтобы посмотреть результаты проверки, то есть риск заблокировать запись в файл именно в тот момент, когда система захочет в него что-нибудь записать...
Re: скармливание сабмитов
Версия ejudge 2.3.14. В serve.cfg контеста cтоит ignore_duplicated_runs = 0. Из веб-интерфейса одинаковые посылки проходят спокойно, а ejudge-contests-cmd пишет: "request failed: 81, This submit is duplicate of the run 1".
Re: скармливание сабмитов
mincer:
Из какого веб-интерфейса? Пользовательского или администраторского? Из админского могут спокойно проходить.
Из какого веб-интерфейса? Пользовательского или администраторского? Из админского могут спокойно проходить.
Re: скармливание сабмитов
И из админского, и из клиентского (непривелег. пользователь). Проблема-то в том, что вроде как игнорировать не должен, а при посылке из консоли игнорирует. У меня такого наблюдается подобный эффект?