Магнолия Расписание Groovy сценарий - PullRequest
0 голосов
/ 23 мая 2018

В Magnolia я создал скрипт Groovy для удаления неиспользуемых пользователей.Когда я запускаю скрипт Groovy непосредственно из интерфейса «DEV> Groovy scripts» (в центре администрирования), он работает нормально.

Теперь я пытаюсь запланировать выполнение этого скрипта.Поэтому я настроил Команду и Планировщик.

Команда: scheduler> config> команды> default> groovyDeleteUsers с атрибутами: - class = my.commandes.GroovyDeleteAllPublicUsersCommand

Планировщик: планировщик> config> jobs> deleteUsersJob с атрибутами:

  • active = true
  • catalog = default
  • command = groovyDeleteUsers
  • cron = 0 0 8* * * *

Вот как структурирован мой скрипт Groovy:

package my.commands;

import info.magnolia.commands.*;
import info.magnolia.context.MgnlContext;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
import javax.jcr.Session;

public class GroovyDeleteAllPublicUsersCommand extends MgnlCommand {

    public boolean execute(Context ctx) {

    ....
    }
}

Проблема в том, что задание планировщика не может видеть мою команду.

Магнолия Не могу найти команду [groovyDeleteUsers] для работы в каталоге [{default}]

Я пробовал запрос JCR: "select * from nt: base, где jcr:путь как «% / commands /%», как указано в документации, и моя недавно созданная команда находится в результате.

[EDIT] Кажется, проблема в команде.Когда я пытаюсь определить команду с существующим классом, таким как info.magnolia.commands.impl.ImportCommand, команда хорошо регистрируется приложением.Но когда я пытаюсь использовать my.commandes.GroovyDeleteAllPublicUsersCommand, приложение не регистрирует мою вновь созданную команду.

Так у вас есть идеи?

Спасибо за помощь, С уважением, Джимми

Ответы [ 2 ]

0 голосов
/ 09 июля 2018

Насколько я знаю, имя каталога должно быть уникальным в системе."default" уже существует в пользовательском интерфейсе / командах.

0 голосов
/ 23 мая 2018

Ваша проблема не в правильной настройке, за исключением того, что команда не в правильном месте.Попытайтесь поместить ваши определения команд прямо под модулем, а не в config, например, установите его в ui-admincentral/commands

Редактировать: Очевидно, еще одна проблема была о команде groovy против java.

Для получения дополнительной информациии примеры: этой страницы должно быть достаточно.

Приветствия,

...