Carl L. wrote:
Sounds good. Although you lost me at insert to multiple tables at once,
don’t know enough about what you’re trying to do.
It really depends on how many stats you’re logging, and the requirements
for reading them, whether it’s “overthinking” or if my suggestion would
be to “little”.
Since you said it was irrelevant to your app data, I was thinking just
to store it in a yaml file, and load/display it from your “marketing
app”. That way it’s separated. You could do something like
stats = {
‘user’ => ‘Tom’, ‘time’ => Time.now
‘uri’ => request[‘REQUEST_URI’],
‘browser’ => request[‘HTTP_USER_AGENT’] }
stat_file = File.new(“#{RAILS_ROOT}/stats/stats.yml”, “w”)
stat_file << stats.to_yaml
stat_file.close
Now you’ve got your stats in a simple yaml file that can be read like
yaml_stats = YAML.load(File.open(“#{RAILS_ROOT}/stats/stats.yml”))
Then displayed, or manipulated as you wish, and when you wish.
That’s obviously a really basic example.
You could do something more interesting like run a BackgrounDRB process
that loads the yaml file, does your inserts, removes the file, does a
backflip with a twist, then starts over, etc.
If the stats must go in a separate table, or separate database all
together, I’d keep the logic to do that within BackgroundRB, or even a
separate “stats-for-marketing” rails app. Your main app writes the
files, and backgrounDRB or other app reads them and writes to the
database.
Depending on your actual requirements, and if writing to a file is an
option, you could simply write to a csv file that marketing could open
in Excel. Then no extra code is needed to read the stats, and you’re on
your way to finishing early!
HTH
–
Chris M.
Web D.