首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Neo4jphp中的几个并行批

Neo4jphp中的几个并行批
EN

Stack Overflow用户
提问于 2014-04-10 17:51:09
回答 1查看 37关注 0票数 1

一次可以创建几个批次吗?

例如,我有一个具有正在运行的批处理(批处理1)的代码。在这个批处理中,我有一个名为“方法”的方法,其中包含另一个批处理(批2)。代码不起作用。

当我删除较高的批处理(批处理1)时,我有一个已创建的节点。也许一次可能只有一批?

示例代码如下:

代码语言:javascript
复制
$batch = $client->startBatch();

$widget = NULL;

try {
    $widgetLabel = $client->makeLabel('Widget');

    $widget = $client->makeNode();
    $widget
        ->setProperty('base_filename', md5(uniqid('', TRUE)))
        ->setProperty('datetime_added', time())
        ->setProperty('current_version', 0)
        ->setProperty('shared', 0)
        ->setProperty('active', 1)
    ->save();

    // add widget history
    $history = Model_History::create($widget, $properties);

    if ($history == NULL) {
        throw new Exception('Could not create widget history!');
    }

    $widget->setProperty('current_version', $history->getID());
    $widget->save();

    $client->commitBatch($batch);
} catch (Exception $e) {
    $client->endBatch();
}

批处理2位于Model_History::create()方法中。我无法从这段代码中得到一个有效的$widget - Neo4jphp节点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-10 20:59:10

如果通过对$client->startBatch()的另一个调用来创建第二个批处理,那么它实际上将是与$batch相同的批处理对象。如果从那里调用$client->commitBatch(),它将提交外部批处理(因为它们是相同的)。

不要在Model_History::create()中启动第二批。启动外部批处理,遍历所有代码,并在结束时提交一次。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22995434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档