Friday 20 April 2018

cassandra configuration setting



Cassandra Configuration setting for initialization session between cassandra and application.

require 'cassandra'
class CassandraPushCluster
  CASSANDRA_KEYSPACE = 'mmm_push_event'
  CASSANDRA_HOSTS = ["127.0.0.1"]

  def self.session
    @@session ||= Cassandra.cluster(hosts: CASSANDRA_HOSTS).connect(CASSANDRA_KEYSPACE)
  end

  def self.validate_date(date)
    formated_date = date.nil? ? Cassandra::Types::Timestamp.new(Time.zone.now) : Cassandra::Types::Timestamp.new(date)
  end
end



-------------query for session prepare--------------------

event_tracking = CassandraPushCluster.session.prepare("INSERT INTO push_event_tracking_#{params[:account_id].to_i} (account_id, push_application_id, push_device_id, name, content_id, title, description, category, total_value, latitude, longitude, created_at, session_id, platform) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")


--------- execute session query -----------

CassandraPushCluster.session.execute(event_tracking, arguments: [params[:account_id].to_i, params[:push_application_id].to_i, params[:push_device_id].to_i, params[:event_name], params[:content_id].to_i, params[:title], params[:description], params[:category], params[:value].to_f, params[:latitude].to_f, params[:longitude].to_f, Time.zone.now, params[:session_id].to_i, params[:platform].to_i])

Elastic Search Index create dynamically as account wise.


-------- step - 1 copy and paste this code in application.rb  -----------------------

require 'elasticsearch'
class ElasticsearchPushCluster
  ELASTICSEARCH_HOSTS = ['http://127.0.0.1:9200']
  def self.session
    @@session ||= Elasticsearch::Client.new hosts: ELASTICSEARCH_HOSTS
  end
end



-----------step 2 copy and paste this code  inside model ----------------------

 def self.elastic_index_record(params, hash_record)
     elastic_hash  = {
          account_id: params[:account_id].to_i,
          push_application_id: params[:push_application_id].to_i,
          push_device_id: params[:push_device_id].to_i,
          event_name: params[:event_name],
          custom_attributes: "#{ hash_record }",
          latitude: params[:latitude],
          longitude: params[:longitude],
          created_at: Time.zone.now,
          updated_at: Time.zone.now,
          session_id: params[:session_id]
        }
    client = ElasticsearchPushCluster.session
    response_record = client.index  index: "push_event_tracking_#{ params[:account_id] }", type: "push_event_tracking", body: elastic_hash
    elastic_search  =  ElasticsearchPushCluster.session.search index: "push_event_tracking_#{ params[:account_id].to_i }", body: { query: { match: { event_name: "#{params[:event_name]}" } }, sort: [{ "created_at": { "order": "desc" } } ] }
    elastic_response = elastic_search["hits"]["hits"].first["_source"]
    return elastic_response
end

Revert last commit or second last and more....

 Git revert commit_id -m 1 this command willl revert last commit  Git revert commit_id -m 2 this command will revert second commit with same...