5
5
package org.gearman.worker;
8
import org.gearman.common.PacketType;
8
import org.gearman.common.GearmanPacketType;
9
9
import java.util.HashSet;
10
10
import java.util.Set;
11
11
import org.gearman.worker.GearmanFunction;
12
12
import org.gearman.common.GearmanPacket;
13
13
import org.gearman.client.GearmanIOEventListener;
14
14
import org.gearman.client.GearmanJobResult;
15
import org.gearman.common.Packet;
16
import org.gearman.common.PacketMagic;
15
import org.gearman.common.GearmanPacketImpl;
16
import org.gearman.common.GearmanPacketMagic;
17
17
import org.gearman.util.ByteUtils;
80
80
public void sendData(byte [] data) {
81
fireEvent(new Packet(PacketMagic.REQ, PacketType.WORK_DATA,
82
Packet.generatePacketData(jobHandle,data)));
81
fireEvent(new GearmanPacketImpl(GearmanPacketMagic.REQ, GearmanPacketType.WORK_DATA,
82
GearmanPacketImpl.generatePacketData(jobHandle,data)));
86
86
public void sendWarning(byte [] warning) {
87
fireEvent(new Packet(PacketMagic.REQ, PacketType.WORK_WARNING,
88
Packet.generatePacketData(jobHandle,warning)));
87
fireEvent(new GearmanPacketImpl(GearmanPacketMagic.REQ, GearmanPacketType.WORK_WARNING,
88
GearmanPacketImpl.generatePacketData(jobHandle,warning)));
91
91
public void sendException(byte [] exception) {
92
fireEvent(new Packet(PacketMagic.REQ, PacketType.WORK_EXCEPTION,
93
Packet.generatePacketData(jobHandle,exception)));
92
fireEvent(new GearmanPacketImpl(GearmanPacketMagic.REQ, GearmanPacketType.WORK_EXCEPTION,
93
GearmanPacketImpl.generatePacketData(jobHandle,exception)));
96
96
public void sendStatus(int denominator, int numerator) {
97
fireEvent(new Packet(PacketMagic.REQ, PacketType.WORK_STATUS,
98
Packet.generatePacketData(jobHandle,
97
fireEvent(new GearmanPacketImpl(GearmanPacketMagic.REQ, GearmanPacketType.WORK_STATUS,
98
GearmanPacketImpl.generatePacketData(jobHandle,
99
99
ByteUtils.toUTF8Bytes(String.valueOf(numerator)),
100
100
ByteUtils.toUTF8Bytes(String.valueOf(denominator)))));
106
106
GearmanPacket event = null;
108
108
GearmanJobResult result = executeFunction();
109
event = new Packet(PacketMagic.REQ, PacketType.WORK_COMPLETE,
110
Packet.generatePacketData(jobHandle,result.getResults()));
109
event = new GearmanPacketImpl(GearmanPacketMagic.REQ, GearmanPacketType.WORK_COMPLETE,
110
GearmanPacketImpl.generatePacketData(jobHandle,result.getResults()));
111
111
} catch (Exception e) {
112
fireEvent(new Packet(PacketMagic.REQ, PacketType.WORK_EXCEPTION,
113
Packet.generatePacketData(jobHandle,e.getMessage().getBytes())));
114
event = new Packet(PacketMagic.REQ, PacketType.WORK_FAIL, jobHandle);
112
fireEvent(new GearmanPacketImpl(GearmanPacketMagic.REQ, GearmanPacketType.WORK_EXCEPTION,
113
GearmanPacketImpl.generatePacketData(jobHandle,e.getMessage().getBytes())));
114
event = new GearmanPacketImpl(GearmanPacketMagic.REQ, GearmanPacketType.WORK_FAIL, jobHandle);
116
116
fireEvent(event);