升级到Dspace 5.1后,'从元数据生成引文'失败且没有记录错误

时间:2015-04-28 05:06:30

标签: dspace

我们最近升级到DSpace 5.1后,从更强大的Dspace管理员继承了系统。

我们最近注意到的一个问题是某些引文似乎没有生成。在任何指向错误的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。但我看到服务器现在很忙,似乎正在进行策展任务活动,所以我认为这是一个有希望的迹象。感谢。

1 个答案:

答案 0 :(得分:0)

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

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

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

策展任务队列基于文件并位于[dspace]/ctqueues/[name-of-queue]/[queue-file]。从上面的命令看,您感兴趣的任务队列看起来像是“连续”队列。可能是处理旧策略任务的一些打嗝留下了旧的queueN文件,这可能会中断队列的处理/将新任务添加到该队列。您可能希望删除那些旧的queueN文件。

<强>更新

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