How long does variable_set last? Is variable_set just creating a session variable or can I retrieve this variable from a cron job?

I can load the page over and over, but I always get this output.  It seems as though the data is not pulled from the variables table, but set only manually each page load.

$default_vals = get_defaults_variable_get();
clean_dump($default_vals);

save_defaults_variable_set();

$default_vals = get_defaults_variable_get();
clean_dump($default_vals);
clean_dump($_GET);


function get_defaults_variable_get(){
    $content[sort_direction] = variable_get('inventory_sort_direction');
    $content[threshold] = variable_get('inventory_threshold');
    $content[hide_zero_inventory] = variable_get('inventory_hide_zero_inventory');
    $content[email] = variable_get('inventory_email');
    return $content;
}


function save_defaults_variable_set(){
    //echo 'save defaults';
    variable_set('inventory_sort_direction', $_GET[sort_direction]);
    variable_set('inventory_threshold', $_GET[threshold]);
    variable_set('inventory_hide_zero_inventory', $_GET[hide_zero_inventory]);
    variable_set('inventory_email', $_GET[email]);

}


output

array
  'sort_direction' =&gt; null
  'threshold' =&gt; null
  'hide_zero_inventory' =&gt; null
  'email' =&gt; null
array
  'sort_direction' =&gt; string 'DESC' (length=4)
  'threshold' =&gt; string '5' (length=1)
  'hide_zero_inventory' =&gt; string 'true' (length=4)
  'email' =&gt; string 'e@sltwtr.com,bsaltzman@gmail.com' (length=39)
array
  'threshold' =&gt; string '5' (length=1)
  'sort_direction' =&gt; string 'DESC' (length=4)
  'hide_zero_inventory' =&gt; string 'true' (length=4)
  'email' =&gt; string 'e@sltwtr.com,bsaltzman@gmail.com' (length=39)
  'save_to_email' =&gt; string 'true' (length=4)
  'q' =&gt; string '' (length=0)
Straight from the docs:


  Sets a persistent variable.


Yes, it will be available across different requests.