[
https://issues.apache.org/jira/browse/NUTCH-2132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15428819#comment-15428819
]
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_r75551553
--- Diff: src/java/org/apache/nutch/fetcher/FetcherThreadEvent.java ---
@@ -0,0 +1,92 @@
+/*
+ * 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.fetcher;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.nutch.parse.Outlink;
+
+/**
+ * This class is used to capture the various events occurring
+ * at fetch time. These events are sent to a queue implementing the
publisher
+ *
+ */
+@SuppressWarnings("serial")
+public class FetcherThreadEvent implements Serializable{
+
+ public static enum PublishEventType {START, END, REPORT}
+
+
+ private PublishEventType eventType;
+ private Map<String, Object> eventData;
+ private String url;
+ private Long timestamp;
+
+ public FetcherThreadEvent(PublishEventType eventType, String url) {
+ this.eventType = eventType;
+ this.url = url;
+ this.timestamp = System.currentTimeMillis();
+ }
+
+ public PublishEventType getEventType() {
+ return eventType;
+ }
+ public void setEventType(PublishEventType eventType) {
+ this.eventType = eventType;
+ }
+ public Map<String, Object> getEventData() {
+ return eventData;
+ }
+ public void setEventData(Map<String, Object> eventData) {
+ this.eventData = eventData;
+ }
+ public String getUrl() {
+ return url;
+ }
+ public void setUrl(String url) {
--- End diff --
Need Javadoc for all of these.
> 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)