regrade_final_grades

regrade_final_grades

Juhász Róbert írta időpontban
Válaszok szám: 9

Sziasztok!

Amióta frissítettem 5-ös verzióra a Moodle-t rendszeresen ezek a hibaüzenetek jönnek különböző kurzusokból:

Execute adhoc task: core_course\task\regrade_final_grades
Adhoc task id: 7541
Adhoc task custom data: {"courseid":319}
... started 01:47:49. Current memory use 4.7 MB.
Debugging increased temporarily due to faildelay of 30720
Recalculating grades for course ID 319
  Found course ip_foly_ir_plc_12evf. Starting regrade.
... used 11 dbqueries
... used 0.050152063369751 seconds
... used 7.0 MB peak memory
Adhoc task failed: core_course\task\regrade_final_grades,Undefined constant "core\output\STDOUT"
Backtrace:
* line 339 of /lib/classes/output/stored_progress_bar.php: call to core\output\core_renderer_cli->render_progress_bar_update()
* line 314 of /lib/classes/output/stored_progress_bar.php: call to core\output\stored_progress_bar->render_update()
* line 221 of /lib/classes/output/progress_bar.php: call to core\output\stored_progress_bar->update_raw()
* line 58 of /lib/classes/progress/stored.php: call to core\output\progress_bar->update_full()
* line 126 of /lib/classes/progress/base.php: call to core\progress\stored->update_progress()
* line 1228 of /lib/gradelib.php: call to core\progress\base->start_progress()
* line 68 of /course/classes/task/regrade_final_grades.php: call to grade_regrade_final_grades()
* line 523 of /lib/classes/cron.php: call to core_course\task\regrade_final_grades->execute()
* line 302 of /lib/classes/cron.php: call to core\cron::run_inner_adhoc_task()
* line 128 of /lib/classes/cron.php: call to core\cron::run_adhoc_tasks()
* line 186 of /admin/cli/cron.php: call to core\cron::run_main_process()

Mi lehet a probléma, és hogyan lehetne kiküszöbölni?

              Köszönettel:

                                             Juhász Róbert (jrobi)

Válasz erre: Juhász Róbert

Tárgy: regrade_final_grades

Nagy Gábor Zsolt írta időpontban

Szia!

Nekünk egy másik process akadt be az adhoc feladatok közé, amikor 4.4-ről 4.5-re frissítettünk, ami állandóan hibát dobott a cronba.
A Portáladministráió / Szerver / Ad-hoc feladatok oldalon látszott, hogy be van ragadva. Ott hiába, próbáltuk újraindítani, törölni nem ment. A fórumokon annyit írtak, hogy ki kell törölni az adatbázisból és az segíthet.

DELETE FROM prefix_task_adhoc WHERE component = '...'

Előtte nézd meg a táblát SELECT-l, hogy mi van benne és úgy állítsd a WHERE szűrést! És persze adatbázis mentés a törlés előtt!
Törlés után nekünk nem dobálta a hibát a cronba.
Hátha ez a megoldás segít.

Üdv:
Gábor

Címkék:
Válasz erre: Nagy Gábor Zsolt

Tárgy: regrade_final_grades

Juhász Róbert írta időpontban
Kedves Gábor!
Először is köszönöm a választ.
Az adatbázisból kitöröltem.
Azonban a probléma újra előjött, amikor az "adhoc" futtatta a "regrade_final_grades.php"-t.
Sokat gondolkodtam mi lehet a hiba, aztán arra jöttem rá, ha a rendszerútvonalaknál a CLI útvonalának "/usr/local/bin/php"-t adom meg (az alap /usr/bin/php helyett), akkor a webes felületről "kézzel" hibátlanul lefut. A rendszer "magától" azonban nem tudja futtatni (hibát jelez), mert valószínűleg a /usr/bin/php útvonalon szeretné elérni a php-t, ami viszont nem jó.
Hogyan lehetne ezt a problémát megoldani?
Köszönettel:
Juhász Róbert
Válasz erre: Juhász Róbert

Tárgy: regrade_final_grades

Nagy Gábor Zsolt írta időpontban

Kedves Róbert!

A Moodle dokumentáció azt mondja hogy az ad-hoc feladatokat a cron futtatja.

"Tasks will only run as often as cron is run in Moodle. It is recommended that cron be run at least once per minute to get the most benefit from the task scheduling."
 
Eszerint a cront kellene megnézd. Egy példa (/etc/crontab):
*/7 *   * * *   wwwuser        /usr/bin/php /path/to/moodle/admin/cli/cron.php > /dev/null 2>&1
 
A cron futtatás dob hibát, ha manuálisan futtatod?
#sudo -u wwwuser /usr/bin/php /path/to/moodle/admin/cli/cron.php
 
Üdv:
Gábor
Címkék:
Válasz erre: Nagy Gábor Zsolt

Tárgy: regrade_final_grades

Juhász Róbert írta időpontban

           Kedves Gábor!

A cron hibátlanul fut. Legalábbis én nem találtam hibát.

Mások is belefutottak ebbe a hibába, de ők sem találtak megoldást: https://moodle.org/mod/forum/discuss.php?d=468165

       Üdv:

                   Robi

Válasz erre: Juhász Róbert

Tárgy: regrade_final_grades

Nagy Gábor Zsolt írta időpontban

Szia!

Most jutottam oda, hogy frissítettem az egyik DEV környezetet 5.0.2+-ra, de nálam nem jön elő a probléma.
Nálad milyen Moodle fut?

A fórumon írták, hogy a task_indicator.php állománnyal lehet valami probléma. Ránéztem a GIT-re és van is hibajegy (MDL-86177) felvéve a regrade kapcsán. Lehet érdemes frissíteni a legújabb verzióra.

Üdv:
Gábor

Válasz erre: Nagy Gábor Zsolt

Tárgy: regrade_final_grades

Juhász Róbert írta időpontban
Szia!

5.0.2+ verzió van és jelentkezik a hiba.
Az alkalmi feladatokba belépve "\core_course\task\regrade_final_grades Alkalmi feladatok" a webes felületről hibátlanul lefuttatható viszont. Érdekes.
Üdv:
Robi
Válasz erre: Juhász Róbert

Tárgy: regrade_final_grades

Juhász Róbert írta időpontban
Kedves Gábor!
Közben arra jöttem rá, hogy a webes felületen a php cli útvonalának a "/usr/local/bin/php" van beállítva.
Amennyiben az alapbeállítás van (/usr/bin/php), akkor nem fut le a webes felületről sem.
Valószínűleg ez lesz a probléma, de nem tudom ezt hogy lehetne orvosolni.
Üdv:
Robi
Válasz erre: Juhász Róbert

Tárgy: regrade_final_grades

Nagy Gábor Zsolt írta időpontban

Kedves Robi,

A cron futtatja a taskokat. Úgyhogy ahol a cron futatása van beállítva, ott kell átírni.
Pl linux esetén a /etc/crontab állományban valahogy így:
* * * * * /usr/local/bin/php  /path/to/moodle/admin/cli/cron.php >/dev/null

Üdv:
Gábor

Címkék:
Válasz erre: Nagy Gábor Zsolt

Tárgy: regrade_final_grades

Juhász Róbert írta időpontban
Kedves Gábor!

Köszönöm a segítséget.
Ez volt a probléma. A cron-ba ba elérési út nélkül volt beírva a php (***** php -q ...).
Érdekes, hogy más szkriptek lefutottak így is, csak az "adhoc" volt problémás.

Üdv:
Robi