0

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

我们最近注意到的问题之一是某些引用似乎没有生成。在任何一个 dspace / tomcat / solr 日志中我都找不到任何指向故障的内容(我可以找到)。

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

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

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

  • 策展任务 > 引文任务 > 通用任务 > 从元数据生成引文 > 执行

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

以下是关于失败的内容:

任务:从元数据生成引文 任务已成功完成。状态:失败,结果:管理任务未提供有关结果的更多信息。

并成功:

任务:从元数据生成引文 任务已成功完成。状态:成功,结果:添加引用...

当我成功生成引文时,我会在 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

任务:从元数据生成引文 任务已成功完成。

状态:跳过,结果:项目已经有引用,跳过;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。但我看到服务器现在很忙,似乎正在执行策展任务活动,所以我认为这是一个有希望的迹象。谢谢。

4

1 回答 1

0

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

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

DSpace 5.1 中的任何更改都不会影响您通过 cron 运行管理任务的方式。

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

更新

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

于 2015-04-28T05:17:58.010 回答