Post 升级到 Dspace 5.1,'Generate citation from metadata' 失败,未记录任何错误

Post upgrade to Dspace 5.1, 'Generate citation from metadata' failing with no errors logged

在从更有能力的 Dspace 管理员那里继承系统后,我们最近升级到了 DSpace 5.1。

我们最近注意到的一个问题是某些引用似乎没有生成。我在 dspace / tomcat / solr 日志中找不到任何指向错误的东西(我能找到)。

运行 手动管理任务(如 cron 每两分钟执行一次)运行s 预计持续时间并且不会因失败而中止。

sudo -u tomcat /usr/local/dspace/bin/dspace curate -q continually -r - -v

从管理界面,如果我指定指定句柄,则以下操作失败。

如果我确实指定了一个没有引用的对象的句柄,它就可以工作。

以下是失败时的说明:

Task: Generate citation from metadata The task was completed successfully. STATUS: Fail, RESULT: The curation task did not provide more information about the outcome.

成功后:

Task: Generate citation from metadata The task was completed successfully. STATUS: Success, RESULT: Added citation ...

当我成功生成引用时,我在 dspace 日志中得到以下日志(过滤):

2015-04-28 16:47:26,122 INFO  org.dspace.content.Item @ ...:session_id=...:ip_addr=...:update_item:item_id=5966
2015-04-28 16:47:26,367 INFO  org.dspace.curate.Curator @ Curation task: citation performed on: .../5634 with status: 0. Result: 'Added citation ...

如果我 运行 没有句柄的任务,那么我会得到以下信息:

2015-04-28 16:52:19,972 INFO  org.dspace.curate.Curator @ Curation task: citation performed on:  with status: 1

嗯,我想知道现在是否必须在末尾指定句柄PREFIX/0

Task: Generate citation from metadata The task was completed successfully.

STATUS: Skip, RESULT: Item already has citation, skipping; item_id=2479

我现在是否应该 运行 管理任务(来自 cron)?

可能在提交新对象时管理任务没有正确排队;我在哪里可以检查管理任务队列(甚至在数据库中)?

干杯, 卡梅隆

更新

/usr/local/dspace/ctqueues/continually# ls -l
total 448
-rw-r--r-- 1 tomcat tomcat      0 Apr 17 09:40 lock0
-rw-r--r-- 1 tomcat tomcat 420832 Apr 17 09:37 queue0
-rw-r--r-- 1 tomcat tomcat  15691 Apr 28 10:44 queue1
-rw-r--r-- 1 tomcat tomcat  12986 Apr 14 13:39 queue6

我想尝试保留队列的内容以使其耗尽,所以我只是删除了 lock0 文件和 运行 sudo -u tomcat /usr/local/dspace/bin/dspace curate -q continually -r - -v 以尝试耗尽工作队列,但所有我似乎得到了两个新的锁文件,lock0 和 lock1。

我原以为 dspace 命令会完成并且应该删除队列文件,但我认为我的理解一定是错误的。所以我然后删除了文件并重新启动 tomcat。但我看到服务器现在很忙,似乎正在执行管理任务活动,所以我认为这是一个有希望的迹象。谢谢。

首先,引用生成器不是标准的 DSpace 任务。

其次,是的,您需要 运行 在管理员 UI 中使用 [your-prefix]/0 进行系统范围的管理任务;如果没有给出,DSpace 应该会抛出一条错误消息,不确定是否会。

None DSpace 5.1 中的更改会影响您如何通过 cron 运行 管理任务。

管理任务队列基于文件,位于 [dspace]/ctqueues/[name-of-queue]/[queue-file] 中。从上面的命令来看,您感兴趣的任务队列似乎是 "continually" 队列。可能是处理管理任务时出现的一些问题遗留了旧的 queueN 文件,这可能会中断队列的处理/向该队列添加新任务。您可能希望删除那些旧的 queueN 文件。

更新

您对队列文件的行为方式的理解是正确的;如果有两个命令在管理队列中工作,您可能会看到两个锁定文件(例如,第二个命令开始时第一个命令仍在 运行ning,如果您经常在同一个队列中工作并且对于某些人来说,这可能会发生原因是队列文件堆积如山)。我相信我已经看到 curate 命令崩溃时留下的锁定文件,因此您可能希望将队列目录添加到崩溃后要检查的事物列表中。此外,始终确保 ctqueues 目录树具有正确的权限(在您的情况下看起来不是问题)。