コード例 #1
0
    def __dask_distributed_pack__(self, client):
        from distributed.protocol.serialize import to_serialize

        return {
            "name": self.name,
            "column": self.column,
            "npartitions": self.npartitions,
            "npartitions_input": self.npartitions_input,
            "ignore_index": self.ignore_index,
            "name_input": self.name_input,
            "meta_input": to_serialize(self.meta_input),
            "parts_out": list(self.parts_out),
        }
コード例 #2
0
    def _put(self, msg):
        if not self._started:
            self._buffer.append(msg)
            return

        data = {
            "op": "pubsub-msg",
            "name": self.name,
            "msg": to_serialize(msg)
        }

        if self.worker:
            for sub in self.subscribers:
                self.worker.send_to_worker(sub, data)

            if self.worker.extensions["pubsub"].publish_to_scheduler[
                    self.name]:
                self.worker.batched_stream.send(data)
        elif self.client:
            self.client.scheduler_comm.send(data)