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:09:22 GMT

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

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_r75551687
  
    --- Diff: src/java/org/apache/nutch/publisher/NutchPublishers.java ---
    @@ -0,0 +1,83 @@
    +/**
    + * 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;
    +
    +import org.apache.hadoop.conf.Configuration;
    +import org.apache.hadoop.conf.Configured;
    +import org.apache.nutch.plugin.PluginRepository;
    +import org.slf4j.Logger;
    +import org.slf4j.LoggerFactory;
    +
    +public class NutchPublishers extends Configured implements NutchPublisher{
    +
    +  private static final Logger LOG = LoggerFactory.getLogger(NutchPublishers.class);
    +  private NutchPublisher[] publishers;
    +
    +  public NutchPublishers(Configuration conf) {
    +    // TODO Auto-generated constructor stub
    +    this.publishers = (NutchPublisher[])PluginRepository.get(conf).
    +        getOrderedPlugins(NutchPublisher.class, 
    +            NutchPublisher.X_POINT_ID, "publisher.order");
    +  }
    +
    +  @Override
    +  public boolean setConfig(Configuration conf) {
    +    // TODO Auto-generated method stub
    +    boolean success = false;
    +    try {
    +      for(int i=0; i<this.publishers.length; i++) {
    +        success |= this.publishers[i].setConfig(conf);
    +        if(success)
    +          LOG.info("Successfully loaded " + 
    +              this.publishers[i].getClass().getName() +" publisher");
    +      }
    +    }catch(Exception e) {
    +      LOG.warn("Error while loading publishers : " + e.getMessage());
    +    }
    +    if(!success) {
    +      LOG.warn("Could not load any publishers out of " + 
    +          this.publishers.length +" publishers");
    +    }
    +    return success;
    +  }
    +
    +  @Override
    +  public void publish(Object event, Configuration conf) {
    +    // TODO Auto-generated method stub
    --- End diff --
    
    Remove this.


> 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