2012-02-13 2 views
0

Я использую метод API Ruby для получения KM API, но я не уверен, что я делаю это правильно. Первое, что я сделал это поставить код инициализации КМ в моем init.rb файле:Как правильно настроить Kissmetrics в приложении rails?

KM.init("API-KEY", 
    :log_dir => '/var/logs/km/', 
    :use_cron => true, 
    :to_stderr => true) 

Я заменил API-ключ с моим ключом апи, очевидно. Затем он говорит, что правильный способ сделать это - сохранить данные в файле и отправить его в KM каждые 5 минут в качестве cronjob. Мой первый вопрос: -/var/logs/km/правый каталог для сохранения данных? Я действительно не вижу этот каталог в моем приложении rails.

Я тогда я использую рецепт шеф отправить хрон рабочих мест следующим образом:

# send KM logs to KM 
cron "Send KM data to KM" do 
    minute '*/5' 
    hour '*' 
    day  '*' 
    month '*' 
    weekday '*' 
    command "/usr/bin/ruby /km-install-dir/bin/km_send" 
end 

Я также не уверен, что это правильно. В этом примере показан код cron следующим образом:

*/5 * * * * /usr/bin/ruby /km-install-dir/bin/km_send 

Вот как я сделал работу cron в шеф-поваре. Итак, несколько вопросов: как я узнаю, работает ли это или нет? Кажется, я не могу найти файл, где хранятся данные для задания cron, я помещал его в неправильный каталог? Правильно ли рецепт моего шеф-повара?

Спасибо!

ответ

1

Я не использовал шеф-повара для отправки данных асинхронно. Вы можете установить драгоценный камень debugger и проверить, инициализирована ли переменная KM в правильной среде (development.rb, production.rb). Также проверьте, есть ли в каталоге журнала права.

0

Вместо того, чтобы сохранять данные KissMetrics в файл и настраивать работу cron, у меня были хорошие результаты, объединяющие delayed_job с delayed_km.

Данные события сохраняются в базе данных и затем отправляются партиями через равные промежутки времени. Я нашел, что это устранило необходимость настройки пользовательских заданий cron и, возможно, упрощает масштабирование вашего приложения. На этом KissMetrics имеет small amount of documentation.