   workers: (callback) ->
     @redis.hvals @key('WORKERS'), (err, res) ->
       callback res.map (entry) ->
-        segments = entry.split ':'
+        segments = entry.split '|'
         {
           host: segments[0]
           ip: segments[1]


  # ### Register Handler

  # When registering a processing handler function, **Fairy** will immediately
  # start polling tasks and process them on present. **Usage:**
  #
  #     queue.regist (param1, param2, callback) ->
  #       console.log param1, param2
  #       callback()
  regist: (@handler) =>
    registered.push "#{@fairy.id}:#{@name}"
    worker_id = uuid.v4()
    @redis.hset @key('WORKERS'), worker_id, "#{os.hostname()}:#{get_server_ip()}:#{process.pid}"
    process.on 'exit', =>
      console.log 'Fairy is exiting.'
      @redis.hdel @key('WORKERS'), worker_id
    @_poll()

  # ### Poll New Task

  #         console.log worker.host, worker.ip, worker.pid

  # `workers` is an asynchronous method. The only arg of the callback
  # function is an array of online workers of the queue. Each worker object
  # have:
  #
  #   + `host`, the host name of the worker machine.
  #   + `ip`, the first external IPv4 address of the worker machine.
