Avoid using `erlang:now/0`
diff --git a/src/smoosh_priority_queue.erl b/src/smoosh_priority_queue.erl
index b7ede55..6376103 100644
--- a/src/smoosh_priority_queue.erl
+++ b/src/smoosh_priority_queue.erl
@@ -24,8 +24,8 @@
 
 last_updated(Key, #priority_queue{dict=Dict}) ->
     case dict:find(Key, Dict) of
-        {ok, {_, LastUpdated}} ->
-            LastUpdated;
+        {ok, {_Priority, {LastUpdatedMTime, _MInt}}} ->
+            LastUpdatedMTime;
         error ->
             false
     end.
@@ -43,7 +43,8 @@
         error ->
             Tree
     end,
-    TreeKey1 = {Priority, now()},
+    Now = {erlang:monotonic_time(), erlang:unique_integer([monotonic])},
+    TreeKey1 = {Priority, Now},
     Tree2 = gb_trees:enter(TreeKey1, {Key, Value}, Tree1),
     Dict1 = dict:store(Key, TreeKey1, Dict),
     truncate(Capacity, #priority_queue{dict=Dict1, tree=Tree2}).
diff --git a/src/smoosh_server.erl b/src/smoosh_server.erl
index 6a79d14..43f4bd8 100644
--- a/src/smoosh_server.erl
+++ b/src/smoosh_server.erl
@@ -28,6 +28,8 @@
     status/0
 ]).
 
+-define(SECONDS_PER_MINUTE, 60).
+
 % gen_server api.
 -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
     code_change/3, terminate/2]).
@@ -264,9 +266,11 @@
 find_channel(Tab, [Channel|Rest], Object) ->
     Pid = channel_pid(Tab, Channel),
     LastUpdated = smoosh_channel:last_updated(Pid, Object),
-    Staleness = 6.0e7 * list_to_integer(config:get("smoosh", "staleness", "5")),
-    case LastUpdated =:= false orelse
-        timer:now_diff(now(), LastUpdated) > Staleness of
+    StalenessInSec = config:get_integer("smoosh", "staleness", 5)
+        * ?SECONDS_PER_MINUTE,
+    Staleness = erlang:convert_time_unit(StalenessInSec, seconds, native),
+    Now = erlang:monotonic_time(),
+    case LastUpdated =:= false orelse Now - LastUpdated > Staleness of
     true ->
         case smoosh_utils:ignore_db(Object) of
         true ->