Example #1
0
    def process(self, element):
        user_event = recommendationengine.UserEvent(element)
        request = recommendationengine.WriteUserEventRequest(
            parent=self.parent, user_event=user_event)

        try:
            created_user_event = self._client.write_user_event(request)
            self.counter.inc()
            yield recommendationengine.UserEvent.to_dict(created_user_event)
        except Exception:
            yield pvalue.TaggedOutput(
                self.FAILED_USER_EVENTS,
                recommendationengine.UserEvent.to_dict(user_event))
Example #2
0
    def process(self, element):
        user_event = recommendationengine.UserEvent(element)
        request = recommendationengine.PredictRequest(name=self.name,
                                                      user_event=user_event)

        try:
            prediction = self._client.predict(request)
            self.counter.inc()
            yield [
                recommendationengine.PredictResponse.to_dict(p)
                for p in prediction.pages
            ]
        except Exception:
            yield pvalue.TaggedOutput(self.FAILED_PREDICTIONS, user_event)
    def setUp(self):
        self._mock_client = mock.Mock()
        self._mock_client.write_user_event.return_value = (
            recommendationengine.UserEvent())
        self.m2 = mock.Mock()
        self.m2.result.return_value = None
        self._mock_client.import_user_events.return_value = self.m2

        self._user_event = {
            "event_type": "page-visit",
            "user_info": {
                "visitor_id": "1"
            }
        }
Example #4
0
    def process(self, element):

        user_events = [recommendationengine.UserEvent(e) for e in element[1]]
        user_event_inline_source = recommendationengine.UserEventInlineSource(
            {"user_events": user_events})
        input_config = recommendationengine.InputConfig(
            user_event_inline_source=user_event_inline_source)

        request = recommendationengine.ImportUserEventsRequest(
            parent=self.parent, input_config=input_config)

        try:
            operation = self._client.write_user_event(request)
            self.counter.inc(len(user_events))
            yield recommendationengine.PredictResponse.to_dict(
                operation.result())
        except Exception:
            yield pvalue.TaggedOutput(self.FAILED_USER_EVENTS, user_events)