nutch-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (NUTCH-2132) Publisher/Subscriber model for Nutch to emit events
Date Fri, 19 Aug 2016 21:10:21 GMT

    [ https://issues.apache.org/jira/browse/NUTCH-2132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15428835#comment-15428835
] 

ASF GitHub Bot commented on NUTCH-2132:
---------------------------------------

Github user lewismc commented on a diff in the pull request:

    https://github.com/apache/nutch/pull/138#discussion_r75551899
  
    --- Diff: src/plugin/publish-rabbitmq/src/java/org/apache/nutch/publisher/rabbitmq/RabbitMQPublisherImpl.java
---
    @@ -0,0 +1,98 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *     http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +
    +package org.apache.nutch.publisher.rabbitmq;
    +
    +import org.apache.hadoop.conf.Configuration;
    +import org.apache.hadoop.util.StringUtils;
    +import org.apache.nutch.publisher.NutchPublisher;
    +import org.slf4j.Logger;
    +import org.slf4j.LoggerFactory;
    +
    +import com.fasterxml.jackson.core.JsonProcessingException;
    +import com.fasterxml.jackson.databind.ObjectMapper;
    +import com.rabbitmq.client.Channel;
    +import com.rabbitmq.client.Connection;
    +import com.rabbitmq.client.ConnectionFactory;
    +
    +public class RabbitMQPublisherImpl implements NutchPublisher{
    +
    +  private static String EXCHANGE_SERVER;
    +  private static String EXCHANGE_TYPE;
    +  private static String HOST;
    +  private static final Logger LOG = LoggerFactory.getLogger(RabbitMQPublisherImpl.class);
    +  private static Channel channel;
    +
    +  @Override
    +  public boolean setConfig(Configuration conf) {
    +    // TODO Auto-generated method stub
    +    try{
    +    EXCHANGE_SERVER = conf.get("rabbitmq.exchange.server", "fetcher_log");
    +    EXCHANGE_TYPE = conf.get("rabbitmq.exchange.type", "fanout");
    +    HOST = conf.get("rabbitmq.host", "localhost");
    +    ConnectionFactory factory = new ConnectionFactory(); 
    +    factory.setHost(HOST);
    +    
    +      Connection connection = factory.newConnection();
    +      channel = connection.createChannel();
    +      channel.exchangeDeclare(EXCHANGE_SERVER, EXCHANGE_TYPE);
    +      LOG.info("Configured RabbitMQ publisher");
    +      return true;
    +    }catch(Exception e) {
    +      LOG.error("Could not initialize RabbitMQ publisher - {}", StringUtils.stringifyException(e));
    +      return false;
    +    }
    +
    +  }
    +
    +  @Override
    +  public void publish(Object event, Configuration conf) {
    +    // TODO Auto-generated method stub
    --- End diff --
    
    Remove


> Publisher/Subscriber model for Nutch to emit events 
> ----------------------------------------------------
>
>                 Key: NUTCH-2132
>                 URL: https://issues.apache.org/jira/browse/NUTCH-2132
>             Project: Nutch
>          Issue Type: New Feature
>          Components: fetcher, REST_api
>            Reporter: Sujen Shah
>            Assignee: Chris A. Mattmann
>              Labels: memex
>             Fix For: 1.13
>
>         Attachments: NUTCH-2132.patch, NUTCH-2132.v2.patch, PubSub_routingkey.patch
>
>
> It would be nice to have a Pub/Sub model in Nutch to emit certain events (ex- Fetcher
events like fetch-start, fetch-end, a fetch report which may contain data like outlinks of
the current fetched url, score, etc). 
> A consumer of this functionality could use this data to generate real time visualization
and generate statics of the crawl without having to wait for the fetch round to finish. 
> The REST API could contain an endpoint which would respond with a url to which a client
could subscribe to get the fetcher events. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message