ejudge-contests-cmd: cannot load contest:

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
Post Reply
vk
Posts:165
Joined:24 August 2007, 13:44
Location:Ханты-Мансийск
Contact:
ejudge-contests-cmd: cannot load contest:

Post by vk » 23 March 2013, 12:40

Здравствуйте!
Создаю турнир программно (т.е. генерируются конфиг. файлы, БД, и т.п).
После этого делаю

Code: Select all

ejudge-contests-cmd _contest_id_ master-login STDOUT _user_ _pass_
Выдает ошибку
ejudge-contests-cmd: cannot load contest _contest_id_: contest does not exist
При этом все конфигурационные файлы турнира созданы и корректны. В БД runheaders заполнены.
В списке /cgi-bin/serve-control соревнование присутствует.

Подскажите, в какую стороны копать.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: ejudge-contests-cmd: cannot load contest:

Post by cher » 24 March 2013, 18:50

Посмотрите, что выводится в лог ej-contests, возможно, там есть дополнительная информация.

vk
Posts:165
Joined:24 August 2007, 13:44
Location:Ханты-Мансийск
Contact:

Re: ejudge-contests-cmd: cannot load contest:

Post by vk » 06 April 2013, 10:42

Ничего не выводится. При выполнении данной программы ej-contests не обновляется.
Как и все остальные лог-файлы.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: ejudge-contests-cmd: cannot load contest:

Post by cher » 07 April 2013, 11:57

А пользователь, который выполняет ej-contests-cmd имеет права на чтение соответствующих конфигурационных файлов турнира?

vk
Posts:165
Joined:24 August 2007, 13:44
Location:Ханты-Мансийск
Contact:

Re: ejudge-contests-cmd: cannot load contest:

Post by vk » 13 April 2013, 09:49

Извините, это я сам. Думал, что глобальный пользователь с правом UNLOAD_CONTEST может логиниться в турнир. Оказалось, нужно использовать именно

Code: Select all

ejudge-contests-cmd _contest_id_ unload-2 r_user_ _pass_
.

Чтобы не плодить темы, спрошу здесь, еще вопрос.
Подскажите, пожалуйста, как происходит запуск турнира? В частности, при указанном sched_time когда происходит заполнение start_time. Я правильно понимаю, что при обращении к соревнованию (например, посредством пользовательского интерфейса) происходит проверка - не пора ли начать, - после чего происходит запуск.
Считал, что хоть какой-нибудь из постоянно висящих в памяти процессов за это отвечает.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: ejudge-contests-cmd: cannot load contest:

Post by cher » 16 April 2013, 11:55

Да, примерно так.
За работу с турнирами отвечает ej-contests, но состояние турниров, не загруженных в память, не отслеживается.
Турниры загружаются в память, в частности, при обращении к ним, а выгружаются после некоторого периода неактивности.

Post Reply