anchor.diff:  -define(SERVER, ?MODULE).
   -define(DEFAULT_STORAGE, "/var/lib/smprc/caterpillar/storage").
   -define(DTU, smprc_datetime_utils).
  +-define(LIST_LENGTH, 30).
   
   -include_lib("caterpillar.hrl").
   -include_lib("caterpillar_storage.hrl").
  
positive.code: 
  async_register(Delay) ->
      erlang:send_after(Delay, self(), async_register).
  
negative.code: -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
           terminate/2, code_change/3]).
  
  -record(state, {
          storage='storage', 
          registered=false,
          work_id=0,
          work_id_file="./work_id"
      }).
  
  start_link() ->
      gen_server:start_link({local, ?SERVER}, ?MODULE, [], []).
  