Как создать собственный планировщик в sugarcrm? - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь создать собственный планировщик в sugarcrm, используя его документацию в

http://support.sugarcrm.com/Documentation/Sugar_Developer/Sugar_Developer_Guide_7.9/Architecture/Job_Queue/Schedulers/Creating_Custom_Schedulers/.

Я создал метку задания в пути ./custom/Extension/modules/Schedulers/Ext/Language / en_us.final_test.php

с кодом

$mod_strings['LBL_FINAL_TEST'] = 'Final Test Of Scheduler';

и созданной функцией задания в пути ./custom/Extension/modules/Schedulers/Ext/ScheduledTasks/final_test.php с кодом

<?php
 array_push($job_strings, 'final_test');
 $GLOBALS['log']->fatal('my fatal message inside function');//this works
 function final_test(){
     $GLOBALS['log']->fatal('my fatal message inside function');//this don't
     return true;
 }
?>

Здесь, если я помещу

$GLOBALS['log']->fatal('my fatal message outside function');

вне функции, то она запускается, я получаю сообщение в файле журнала.Но когда я помещаю

$GLOBALS['log']->fatal('my fatal message inside function');

внутри функции, тогда это не работает, и я не получаю никакого журнала.

Какую часть я делаю неправильно?Где я могу получить соответствующий учебник для разработки пользовательского планировщика для sugarcrm?

ПРИМЕЧАНИЕ. Я настроил запуск планировщика каждую минуту

1 Ответ

0 голосов
/ 06 июня 2018

Я предполагаю, что ваши планировщики вообще не работают.(Ваше «внешнее» сообщение, вероятно, попадает в журнал только при общей загрузке файла)

Убедитесь, что задания cron настроены правильно, так как они должны вызывать планировщик Sugar каждую минуту: https://support.sugarcrm.com/Knowledge_Base/Schedulers/Introduction_to_Cron_Jobs/

Если вы не хотите их настраивать, вы также можете вручную запустить Планировщики с помощью php -f cron.php (для учетной записи веб-службы, например, sudo -u www-data php -f cron.php для Debian linux) в каталоге Sugar.

Если выходные данные вашей функции по-прежнему не отображаются в журналах:

  • Проверьте, находится ли ваша текущая функция в custom/modules/Schedulers/Ext/ScheduledTasks/scheduledtasks.ext.php.Если нет, запустите Quick Repair & Rebuild.
  • Проверьте права доступа к файлу в файле журнала
  • Проверьте свой лог / вывод PHP на наличие ошибок.Например, если вы определили функцию с именем "final_test" где-то еще, PHP завершит работу с фатальной ошибкой из-за столкновения имени функции.
...