Critical & Urgent issue

Jean Hamon - New customer's Avatar

Jean Hamon - New customer

17 Feb, 2012 05:57 PM

Hi,

We were supposed to launch our platform for our first customers today at noon.

We figured out theere were problems on the indexation side, and wrote you an email this morning. We got no answer yet and face angry customers...

Here is the name of our Heroku app : alumniconnect-production

First time we use Flying Sphinx... We work within a collective of 12 startups and thought this would be the appropriate solution for our new projects.

Please help us and let us believe that we made the right choice by opening an account at Heroku/Flying Sphinx !

Hoping to hear from you very soon.

Best,
Jean Hamon

  1. Support Staff 2 Posted by Pat Allan on 17 Feb, 2012 11:28 PM

    Pat Allan's Avatar

    Hi Jean

    I've just responded via Heroku's own support as well... sorry for the delay, but I'm based in Australia, so I've been asleep for the past nine hours. That said, I should have received your initial contact before I slept, but nothing's come through. How did you get in touch? There doesn't seem to be any other tickets here that need urgent attention.

    And all that said, what are the problems you're seeing? Indexing seems to be happening fine on your app - I've not spotted errors, it's happening regularly - so some more information on the problem would be fantastic so I can help you get it sorted out quickly.

    Sorry for the delay with this - would love to offer 24 hour support, but it's just not something that's affordable at this point.

    Pat

  2. 3 Posted by louis.alban.kim on 18 Feb, 2012 08:13 AM

    louis.alban.kim's Avatar

    Hi Pat,

    We created a private ticket with all the details, but it seems that you haven't received it.

    FYI : We wen't to http://support.flying-sphinx.com/, then Start a discussion (without creating an account on the support site) and checked private.
    Private url of the ticket is :
    http://support.flying-sphinx.com/discussions/problems/159-resque-de...
    Screenshot attached

    Anyway, here it is again, since private discussions seem to cause problems.
    We are now trying with delayed jobs instead of resque. Will post the results in another reply.

    ========================

    Hi,

    We have a problem with our application alumniconnect-production with Flying Sphinx Ceramic.
    We are deploying and would like to release our app quickly. Could you help us troubleshoot the pb ?

    First, I think indexing is pretty slow. We only have a few documents (< 100 for now) and it take a few minute to heroku run rake fs:index.

    Then, our delta indexing resque queue seems to always have pending jobs : see attached screenshot of Resque web front.
    Once deltas have been queued up, it says there is always pending jobs : 15, then 14, then 15, etc...
    Even though when I check with heroku run console that our models deltas are all false after a while.

    Here is our config :

    Gemfile:

    gem 'thinking-sphinx', '~>2.0.11'
    gem 'flying-sphinx',   '~>0.6.2'
    gem 'resque'
    gem 'ts-resque-delta', git:'git://github.com/freelancing-god/ts-resque-delta.git', branch: 'fs-delta', require: 'flying_sphinx/resque_delta'
    

    Procfile:

    web:      bundle exec thin start -p $PORT
    worker:   env QUEUE=* bundle exec rake environment resque:work
    

    sphinx.yml

    default: &default
      min_infix_len: 4
      max_matches: 10000
      charset_table: "0..9, a..z, _, A..Z->a..z, U+00C0->a, U+00C1->a, U+00C2->a, U+00C3->a, U+00C4->a, U+00C5->a, U+00C7->c, U+00C8->e, U+00C9->e, U+00CA->e, U+00CB->e, U+00CC->i, U+00CD->i, U+00CE->i, U+00CF->i, U+00D1->n, U+00D2->o, U+00D3->o, U+00D4->o, U+00D5->o, U+00D6->o, U+00D8->o, U+00D9->u, U+00DA->u, U+00DB->u, U+00DC->u, U+00DD->y, U+00E0->a, U+00E1->a, U+00E2->a, U+00E3->a, U+00E4->a, U+00E5->a, U+00E7->c, U+00E8->e, U+00E9->e, U+00EA->e, U+00EB->e, U+00EC->i, U+00ED->i, U+00EE->i, U+00EF->i, U+00F1->n, U+00F2->o, U+00F3->o, U+00F4->o, U+00F5->o, U+00F6->o, U+00F8->o, U+00F9->u, U+00FA->u, U+00FB->u, U+00FC->u, U+00FD->y, U+00FF->y, U+0100->a, U+0101->a, U+0102->a, U+0103->a, U+0104->a, U+0105->a, U+0106->c, U+0107->c, U+0108->c, U+0109->c, U+010A->c, U+010B->c, U+010C->c, U+010D->c, U+010E->d, U+010F->d, U+0112->e, U+0113->e, U+0114->e, U+0115->e, U+0116->e, U+0117->e, U+0118->e, U+0119->e, U+011A->e, U+011B->e, U+011C->g, U+011D->g, U+011E->g, U+011F->g, U+0120->g, U+0121->g, U+0122->g, U+0123->g, U+0124->h, U+0125->h, U+0128->i, U+0129->i, U+012A->i, U+012B->i, U+012C->i, U+012D->i, U+012E->i, U+012F->i, U+0130->i, U+0134->j, U+0135->j, U+0136->k, U+0137->k, U+0139->l, U+013A->l, U+013B->l, U+013C->l, U+013D->l, U+013E->l, U+0142->l, U+0143->n, U+0144->n, U+0145->n, U+0146->n, U+0147->n, U+0148->n, U+014C->o, U+014D->o, U+014E->o, U+014F->o, U+0150->o, U+0151->o, U+0154->r, U+0155->r, U+0156->r, U+0157->r, U+0158->r, U+0159->r, U+015A->s, U+015B->s, U+015C->s, U+015D->s, U+015E->s, U+015F->s, U+0160->s, U+0161->s, U+0162->t, U+0163->t, U+0164->t, U+0165->t, U+0168->u, U+0169->u, U+016A->u, U+016B->u, U+016C->u, U+016D->u, U+016E->u, U+016F->u, U+0170->u, U+0171->u, U+0172->u, U+0173->u, U+0174->w, U+0175->w, U+0176->y, U+0177->y, U+0178->y, U+0179->z, U+017A->z, U+017B->z, U+017C->z, U+017D->z, U+017E->z, U+01A0->o, U+01A1->o, U+01AF->u, U+01B0->u, U+01CD->a, U+01CE->a, U+01CF->i, U+01D0->i, U+01D1->o, U+01D2->o, U+01D3->u, U+01D4->u, U+01D5->u, U+01D6->u, U+01D7->u, U+01D8->u, U+01D9->u, U+01DA->u, U+01DB->u, U+01DC->u, U+01DE->a, U+01DF->a, U+01E0->a, U+01E1->a, U+01E6->g, U+01E7->g, U+01E8->k, U+01E9->k, U+01EA->o, U+01EB->o, U+01EC->o, U+01ED->o, U+01F0->j, U+01F4->g, U+01F5->g, U+01F8->n, U+01F9->n, U+01FA->a, U+01FB->a, U+0200->a, U+0201->a, U+0202->a, U+0203->a, U+0204->e, U+0205->e, U+0206->e, U+0207->e, U+0208->i, U+0209->i, U+020A->i, U+020B->i, U+020C->o, U+020D->o, U+020E->o, U+020F->o, U+0210->r, U+0211->r, U+0212->r, U+0213->r, U+0214->u, U+0215->u, U+0216->u, U+0217->u, U+0218->s, U+0219->s, U+021A->t, U+021B->t, U+021E->h, U+021F->h, U+0226->a, U+0227->a, U+0228->e, U+0229->e, U+022A->o, U+022B->o, U+022C->o, U+022D->o, U+022E->o, U+022F->o, U+0230->o, U+0231->o, U+0232->y, U+0233->y, U+1E00->a, U+1E01->a, U+1E02->b, U+1E03->b, U+1E04->b, U+1E05->b, U+1E06->b, U+1E07->b, U+1E08->c, U+1E09->c, U+1E0A->d, U+1E0B->d, U+1E0C->d, U+1E0D->d, U+1E0E->d, U+1E0F->d, U+1E10->d, U+1E11->d, U+1E12->d, U+1E13->d, U+1E14->e, U+1E15->e, U+1E16->e, U+1E17->e, U+1E18->e, U+1E19->e, U+1E1A->e, U+1E1B->e, U+1E1C->e, U+1E1D->e, U+1E1E->f, U+1E1F->f, U+1E20->g, U+1E21->g, U+1E22->h, U+1E23->h, U+1E24->h, U+1E25->h, U+1E26->h, U+1E27->h, U+1E28->h, U+1E29->h, U+1E2A->h, U+1E2B->h, U+1E2C->i, U+1E2D->i, U+1E2E->i, U+1E2F->i, U+1E30->k, U+1E31->k, U+1E32->k, U+1E33->k, U+1E34->k, U+1E35->k, U+1E36->l, U+1E37->l, U+1E38->l, U+1E39->l, U+1E3A->l, U+1E3B->l, U+1E3C->l, U+1E3D->l, U+1E3E->m, U+1E3F->m, U+1E40->m, U+1E41->m, U+1E42->m, U+1E43->m, U+1E44->n, U+1E45->n, U+1E46->n, U+1E47->n, U+1E48->n, U+1E49->n, U+1E4A->n, U+1E4B->n, U+1E4C->o, U+1E4D->o, U+1E4E->o, U+1E4F->o, U+1E50->o, U+1E51->o, U+1E52->o, U+1E53->o, U+1E54->p, U+1E55->p, U+1E56->p, U+1E57->p, U+1E58->r, U+1E59->r, U+1E5A->r, U+1E5B->r, U+1E5C->r, U+1E5D->r, U+1E5E->r, U+1E5F->r, U+1E60->s, U+1E61->s, U+1E62->s, U+1E63->s, U+1E64->s, U+1E65->s, U+1E66->s, U+1E67->s, U+1E68->s, U+1E69->s, U+1E6A->t, U+1E6B->t, U+1E6C->t, U+1E6D->t, U+1E6E->t, U+1E6F->t, U+1E70->t, U+1E71->t, U+1E72->u, U+1E73->u, U+1E74->u, U+1E75->u, U+1E76->u, U+1E77->u, U+1E78->u, U+1E79->u, U+1E7A->u, U+1E7B->u, U+1E7C->v, U+1E7D->v, U+1E7E->v, U+1E7F->v, U+1E80->w, U+1E81->w, U+1E82->w, U+1E83->w, U+1E84->w, U+1E85->w, U+1E86->w, U+1E87->w, U+1E88->w, U+1E89->w, U+1E8A->x, U+1E8B->x, U+1E8C->x, U+1E8D->x, U+1E8E->y, U+1E8F->y, U+1E96->h, U+1E97->t, U+1E98->w, U+1E99->y, U+1EA0->a, U+1EA1->a, U+1EA2->a, U+1EA3->a, U+1EA4->a, U+1EA5->a, U+1EA6->a, U+1EA7->a, U+1EA8->a, U+1EA9->a, U+1EAA->a, U+1EAB->a, U+1EAC->a, U+1EAD->a, U+1EAE->a, U+1EAF->a, U+1EB0->a, U+1EB1->a, U+1EB2->a, U+1EB3->a, U+1EB4->a, U+1EB5->a, U+1EB6->a, U+1EB7->a, U+1EB8->e, U+1EB9->e, U+1EBA->e, U+1EBB->e, U+1EBC->e, U+1EBD->e, U+1EBE->e, U+1EBF->e, U+1EC0->e, U+1EC1->e, U+1EC2->e, U+1EC3->e, U+1EC4->e, U+1EC5->e, U+1EC6->e, U+1EC7->e, U+1EC8->i, U+1EC9->i, U+1ECA->i, U+1ECB->i, U+1ECC->o, U+1ECD->o, U+1ECE->o, U+1ECF->o, U+1ED0->o, U+1ED1->o, U+1ED2->o, U+1ED3->o, U+1ED4->o, U+1ED5->o, U+1ED6->o, U+1ED7->o, U+1ED8->o, U+1ED9->o, U+1EDA->o, U+1EDB->o, U+1EDC->o, U+1EDD->o, U+1EDE->o, U+1EDF->o, U+1EE0->o, U+1EE1->o, U+1EE2->o, U+1EE3->o, U+1EE4->u, U+1EE5->u, U+1EE6->u, U+1EE7->u, U+1EE8->u, U+1EE9->u, U+1EEA->u, U+1EEB->u, U+1EEC->u, U+1EED->u, U+1EEE->u, U+1EEF->u, U+1EF0->u, U+1EF1->u, U+1EF2->y, U+1EF3->y, U+1EF4->y, U+1EF5->y, U+1EF6->y, U+1EF7->y, U+1EF8->y, U+1EF9->y"
    
    development:
      <<: *default
      port: 9312
      config_file: 'config/sphinx/development.sphinx.conf'
    
    test:
      <<: *default
      port: 9313
      config_file: 'config/sphinx/test.sphinx.conf'
    
    staging:
      <<: *default
      port: 9312
      config_file: 'config/sphinx/staging.sphinx.conf'
      bin_path: "/usr/local/bin"
    
    production:
      <<: *default
      version: '1.10-beta'
    

    Models:

    class Location < ActiveRecord::Base
    
      belongs_to :user
    
      LOCATION_TYPES = { 'live' => 0, 'current' => 1, 'trip' => 2 }
    
      define_index do
        where "users.confirmed_at IS NOT NULL"
    
        indexes user.firstname
        indexes user.lastname
        indexes user.email
    
        has user.sub_networks(:id), :as => :sub_network_ids
        has "RADIANS(locations.lat)", :as => :lat, :type => :float
        has "RADIANS(locations.lng)", :as => :lng, :type => :float
        has "CASE users.gender WHEN 'male' THEN #{User::GENDERS_SPHINX['male']} WHEN 'female' THEN #{User::GENDERS_SPHINX['female']} END",
            :as => :gender_int, :type => :integer
        has user.nationalities(:id), :as => :nationality_id
        has user(:id), :as => :user_id
        has end_date, begin_date
        has "CASE location_type WHEN 'live' THEN #{LOCATION_TYPES['live']} WHEN 'current' THEN #{LOCATION_TYPES['current']} WHEN 'trip' THEN #{LOCATION_TYPES['trip']} END",
            :as => :location_type, :type => :integer
    
        has user.experiences.industry(:id), :as => :industry_ids
    
        group_by "locations.lat", "locations.lng"
        group_by "users.gender"
        group_by "location_type"
    
        set_property :delta => (Rails.env.production? ? ::FlyingSphinx::ResqueDelta : true)
      end
    
    end
    
    
    class User < ActiveRecord::Base
    
      GENDERS_SPHINX = { "female" => 0, "male" => 1 }
    
      has_many :sub_networks_users
      has_many :sub_networks, :through => :sub_networks_users
    
      after_save :set_delta
    
      # Delta update of associated locations
      def set_delta
        locations.each do |l|
          l.delta = true
          l.save(:validate => false)
        end
      end
    
    end
    
    class Post < ActiveRecord::Base
    
      define_index do
        indexes content
        indexes title
        indexes p_tag.name, :as => :tag
    
        where "draft <> true OR draft IS NULL"
    
        has start_at, finish_at, pushed_locally, all_network_visible, updated_at
        has end_publish_at, :type => :integer
        has sub_networks(:id), :as => :sub_network_ids
        has p_category(:id), :as => :cat_id
        has "RADIANS(lat)", :as => :lat, :type => :float
        has "RADIANS(lng)", :as => :lng, :type => :float
    
        group_by "lat", "lng"
    
        set_property :delta => (Rails.env.production? ? ::FlyingSphinx::ResqueDelta : true)
      end
    
    end
    
    class Experience < ActiveRecord::Base
    
      belongs_to :user
    
      after_save :set_delta
    
      def set_delta
        user.set_delta
      end
    
    end
    
    class SubNetworksUser < ActiveRecord::Base
      belongs_to :user
      belongs_to :sub_network
    
      after_save :set_delta
    
      protected
    
        def set_delta
          user.set_delta
        end
    
    end
    

    As you can see, I have a few after filters to trigger the location delta indexing after associated models have been saved.
    I wonder if this can cause the problem...

    Your help would be much appreciated, as it is very important for us to release asap.

    Thanks,
    Louis

  3. 4 Posted by louis.alban.kim on 18 Feb, 2012 08:20 AM

    louis.alban.kim's Avatar

    Hi, I am the app developer. Sorry, but I don't get it. I posted 1 discussion with all the details yesterday, 1 reply to this post, but it doesn't seem to be displayed ! Will try again, maybe with another account ?

  4. 5 Posted by louis.alban.kim on 18 Feb, 2012 08:23 AM

    louis.alban.kim's Avatar

    Hi Pat,

    We created a private ticket with all the details, but it seems that you haven't received it.

    FYI : We wen't to http://support.flying-sphinx.com/, then Start a discussion (without creating an account on the support site) and checked private.
    Private url of the ticket is :
    http://support.flying-sphinx.com/discussions/problems/159-resque-de...

    Anyway, here it is again, since private discussions seem to cause problems.
    We are now trying with delayed jobs instead of resque. Will post the results in another reply.

    ========================

    Hi,

    We have a problem with our application alumniconnect-production with Flying Sphinx Ceramic.
    We are deploying and would like to release our app quickly. Could you help us troubleshoot the pb ?

    First, I think indexing is pretty slow. We only have a few documents (< 100 for now) and it take a few minute to heroku run rake fs:index.

    Then, our delta indexing resque queue seems to always have pending jobs : see attached screenshot of Resque web front.
    Once deltas have been queued up, it says there is always pending jobs : 15, then 14, then 15, etc...
    Even though when I check with heroku run console that our models deltas are all false after a while.

    Here is our config :

    Gemfile:

    gem 'thinking-sphinx', '~>2.0.11'
    gem 'flying-sphinx',   '~>0.6.2'
    gem 'resque'
    gem 'ts-resque-delta', git:'git://github.com/freelancing-god/ts-resque-delta.git', branch: 'fs-delta', require: 'flying_sphinx/resque_delta'
    

    Procfile:

    web:      bundle exec thin start -p $PORT
    worker:   env QUEUE=* bundle exec rake environment resque:work
    

    sphinx.yml

    default: &default
      min_infix_len: 4
      max_matches: 10000
      charset_table: "0..9, a..z, _, A..Z->a..z, U+00C0->a, U+00C1->a, U+00C2->a, U+00C3->a, U+00C4->a, U+00C5->a, U+00C7->c, U+00C8->e, U+00C9->e, U+00CA->e, U+00CB->e, U+00CC->i, U+00CD->i, U+00CE->i, U+00CF->i, U+00D1->n, U+00D2->o, U+00D3->o, U+00D4->o, U+00D5->o, U+00D6->o, U+00D8->o, U+00D9->u, U+00DA->u, U+00DB->u, U+00DC->u, U+00DD->y, U+00E0->a, U+00E1->a, U+00E2->a, U+00E3->a, U+00E4->a, U+00E5->a, U+00E7->c, U+00E8->e, U+00E9->e, U+00EA->e, U+00EB->e, U+00EC->i, U+00ED->i, U+00EE->i, U+00EF->i, U+00F1->n, U+00F2->o, U+00F3->o, U+00F4->o, U+00F5->o, U+00F6->o, U+00F8->o, U+00F9->u, U+00FA->u, U+00FB->u, U+00FC->u, U+00FD->y, U+00FF->y, U+0100->a, U+0101->a, U+0102->a, U+0103->a, U+0104->a, U+0105->a, U+0106->c, U+0107->c, U+0108->c, U+0109->c, U+010A->c, U+010B->c, U+010C->c, U+010D->c, U+010E->d, U+010F->d, U+0112->e, U+0113->e, U+0114->e, U+0115->e, U+0116->e, U+0117->e, U+0118->e, U+0119->e, U+011A->e, U+011B->e, U+011C->g, U+011D->g, U+011E->g, U+011F->g, U+0120->g, U+0121->g, U+0122->g, U+0123->g, U+0124->h, U+0125->h, U+0128->i, U+0129->i, U+012A->i, U+012B->i, U+012C->i, U+012D->i, U+012E->i, U+012F->i, U+0130->i, U+0134->j, U+0135->j, U+0136->k, U+0137->k, U+0139->l, U+013A->l, U+013B->l, U+013C->l, U+013D->l, U+013E->l, U+0142->l, U+0143->n, U+0144->n, U+0145->n, U+0146->n, U+0147->n, U+0148->n, U+014C->o, U+014D->o, U+014E->o, U+014F->o, U+0150->o, U+0151->o, U+0154->r, U+0155->r, U+0156->r, U+0157->r, U+0158->r, U+0159->r, U+015A->s, U+015B->s, U+015C->s, U+015D->s, U+015E->s, U+015F->s, U+0160->s, U+0161->s, U+0162->t, U+0163->t, U+0164->t, U+0165->t, U+0168->u, U+0169->u, U+016A->u, U+016B->u, U+016C->u, U+016D->u, U+016E->u, U+016F->u, U+0170->u, U+0171->u, U+0172->u, U+0173->u, U+0174->w, U+0175->w, U+0176->y, U+0177->y, U+0178->y, U+0179->z, U+017A->z, U+017B->z, U+017C->z, U+017D->z, U+017E->z, U+01A0->o, U+01A1->o, U+01AF->u, U+01B0->u, U+01CD->a, U+01CE->a, U+01CF->i, U+01D0->i, U+01D1->o, U+01D2->o, U+01D3->u, U+01D4->u, U+01D5->u, U+01D6->u, U+01D7->u, U+01D8->u, U+01D9->u, U+01DA->u, U+01DB->u, U+01DC->u, U+01DE->a, U+01DF->a, U+01E0->a, U+01E1->a, U+01E6->g, U+01E7->g, U+01E8->k, U+01E9->k, U+01EA->o, U+01EB->o, U+01EC->o, U+01ED->o, U+01F0->j, U+01F4->g, U+01F5->g, U+01F8->n, U+01F9->n, U+01FA->a, U+01FB->a, U+0200->a, U+0201->a, U+0202->a, U+0203->a, U+0204->e, U+0205->e, U+0206->e, U+0207->e, U+0208->i, U+0209->i, U+020A->i, U+020B->i, U+020C->o, U+020D->o, U+020E->o, U+020F->o, U+0210->r, U+0211->r, U+0212->r, U+0213->r, U+0214->u, U+0215->u, U+0216->u, U+0217->u, U+0218->s, U+0219->s, U+021A->t, U+021B->t, U+021E->h, U+021F->h, U+0226->a, U+0227->a, U+0228->e, U+0229->e, U+022A->o, U+022B->o, U+022C->o, U+022D->o, U+022E->o, U+022F->o, U+0230->o, U+0231->o, U+0232->y, U+0233->y, U+1E00->a, U+1E01->a, U+1E02->b, U+1E03->b, U+1E04->b, U+1E05->b, U+1E06->b, U+1E07->b, U+1E08->c, U+1E09->c, U+1E0A->d, U+1E0B->d, U+1E0C->d, U+1E0D->d, U+1E0E->d, U+1E0F->d, U+1E10->d, U+1E11->d, U+1E12->d, U+1E13->d, U+1E14->e, U+1E15->e, U+1E16->e, U+1E17->e, U+1E18->e, U+1E19->e, U+1E1A->e, U+1E1B->e, U+1E1C->e, U+1E1D->e, U+1E1E->f, U+1E1F->f, U+1E20->g, U+1E21->g, U+1E22->h, U+1E23->h, U+1E24->h, U+1E25->h, U+1E26->h, U+1E27->h, U+1E28->h, U+1E29->h, U+1E2A->h, U+1E2B->h, U+1E2C->i, U+1E2D->i, U+1E2E->i, U+1E2F->i, U+1E30->k, U+1E31->k, U+1E32->k, U+1E33->k, U+1E34->k, U+1E35->k, U+1E36->l, U+1E37->l, U+1E38->l, U+1E39->l, U+1E3A->l, U+1E3B->l, U+1E3C->l, U+1E3D->l, U+1E3E->m, U+1E3F->m, U+1E40->m, U+1E41->m, U+1E42->m, U+1E43->m, U+1E44->n, U+1E45->n, U+1E46->n, U+1E47->n, U+1E48->n, U+1E49->n, U+1E4A->n, U+1E4B->n, U+1E4C->o, U+1E4D->o, U+1E4E->o, U+1E4F->o, U+1E50->o, U+1E51->o, U+1E52->o, U+1E53->o, U+1E54->p, U+1E55->p, U+1E56->p, U+1E57->p, U+1E58->r, U+1E59->r, U+1E5A->r, U+1E5B->r, U+1E5C->r, U+1E5D->r, U+1E5E->r, U+1E5F->r, U+1E60->s, U+1E61->s, U+1E62->s, U+1E63->s, U+1E64->s, U+1E65->s, U+1E66->s, U+1E67->s, U+1E68->s, U+1E69->s, U+1E6A->t, U+1E6B->t, U+1E6C->t, U+1E6D->t, U+1E6E->t, U+1E6F->t, U+1E70->t, U+1E71->t, U+1E72->u, U+1E73->u, U+1E74->u, U+1E75->u, U+1E76->u, U+1E77->u, U+1E78->u, U+1E79->u, U+1E7A->u, U+1E7B->u, U+1E7C->v, U+1E7D->v, U+1E7E->v, U+1E7F->v, U+1E80->w, U+1E81->w, U+1E82->w, U+1E83->w, U+1E84->w, U+1E85->w, U+1E86->w, U+1E87->w, U+1E88->w, U+1E89->w, U+1E8A->x, U+1E8B->x, U+1E8C->x, U+1E8D->x, U+1E8E->y, U+1E8F->y, U+1E96->h, U+1E97->t, U+1E98->w, U+1E99->y, U+1EA0->a, U+1EA1->a, U+1EA2->a, U+1EA3->a, U+1EA4->a, U+1EA5->a, U+1EA6->a, U+1EA7->a, U+1EA8->a, U+1EA9->a, U+1EAA->a, U+1EAB->a, U+1EAC->a, U+1EAD->a, U+1EAE->a, U+1EAF->a, U+1EB0->a, U+1EB1->a, U+1EB2->a, U+1EB3->a, U+1EB4->a, U+1EB5->a, U+1EB6->a, U+1EB7->a, U+1EB8->e, U+1EB9->e, U+1EBA->e, U+1EBB->e, U+1EBC->e, U+1EBD->e, U+1EBE->e, U+1EBF->e, U+1EC0->e, U+1EC1->e, U+1EC2->e, U+1EC3->e, U+1EC4->e, U+1EC5->e, U+1EC6->e, U+1EC7->e, U+1EC8->i, U+1EC9->i, U+1ECA->i, U+1ECB->i, U+1ECC->o, U+1ECD->o, U+1ECE->o, U+1ECF->o, U+1ED0->o, U+1ED1->o, U+1ED2->o, U+1ED3->o, U+1ED4->o, U+1ED5->o, U+1ED6->o, U+1ED7->o, U+1ED8->o, U+1ED9->o, U+1EDA->o, U+1EDB->o, U+1EDC->o, U+1EDD->o, U+1EDE->o, U+1EDF->o, U+1EE0->o, U+1EE1->o, U+1EE2->o, U+1EE3->o, U+1EE4->u, U+1EE5->u, U+1EE6->u, U+1EE7->u, U+1EE8->u, U+1EE9->u, U+1EEA->u, U+1EEB->u, U+1EEC->u, U+1EED->u, U+1EEE->u, U+1EEF->u, U+1EF0->u, U+1EF1->u, U+1EF2->y, U+1EF3->y, U+1EF4->y, U+1EF5->y, U+1EF6->y, U+1EF7->y, U+1EF8->y, U+1EF9->y"
    
    development:
      <<: *default
      port: 9312
      config_file: 'config/sphinx/development.sphinx.conf'
    
    test:
      <<: *default
      port: 9313
      config_file: 'config/sphinx/test.sphinx.conf'
    
    staging:
      <<: *default
      port: 9312
      config_file: 'config/sphinx/staging.sphinx.conf'
      bin_path: "/usr/local/bin"
    
    production:
      <<: *default
      version: '1.10-beta'
    

    Models:

    class Location < ActiveRecord::Base
    
      belongs_to :user
    
      LOCATION_TYPES = { 'live' => 0, 'current' => 1, 'trip' => 2 }
    
      define_index do
        where "users.confirmed_at IS NOT NULL"
    
        indexes user.firstname
        indexes user.lastname
        indexes user.email
    
        has user.sub_networks(:id), :as => :sub_network_ids
        has "RADIANS(locations.lat)", :as => :lat, :type => :float
        has "RADIANS(locations.lng)", :as => :lng, :type => :float
        has "CASE users.gender WHEN 'male' THEN #{User::GENDERS_SPHINX['male']} WHEN 'female' THEN #{User::GENDERS_SPHINX['female']} END",
            :as => :gender_int, :type => :integer
        has user.nationalities(:id), :as => :nationality_id
        has user(:id), :as => :user_id
        has end_date, begin_date
        has "CASE location_type WHEN 'live' THEN #{LOCATION_TYPES['live']} WHEN 'current' THEN #{LOCATION_TYPES['current']} WHEN 'trip' THEN #{LOCATION_TYPES['trip']} END",
            :as => :location_type, :type => :integer
    
        has user.experiences.industry(:id), :as => :industry_ids
    
        group_by "locations.lat", "locations.lng"
        group_by "users.gender"
        group_by "location_type"
    
        set_property :delta => (Rails.env.production? ? ::FlyingSphinx::ResqueDelta : true)
      end
    
    end
    
    
    class User < ActiveRecord::Base
    
      GENDERS_SPHINX = { "female" => 0, "male" => 1 }
    
      has_many :sub_networks_users
      has_many :sub_networks, :through => :sub_networks_users
    
      after_save :set_delta
    
      # Delta update of associated locations
      def set_delta
        locations.each do |l|
          l.delta = true
          l.save(:validate => false)
        end
      end
    
    end
    
    class Post < ActiveRecord::Base
    
      define_index do
        indexes content
        indexes title
        indexes p_tag.name, :as => :tag
    
        where "draft <> true OR draft IS NULL"
    
        has start_at, finish_at, pushed_locally, all_network_visible, updated_at
        has end_publish_at, :type => :integer
        has sub_networks(:id), :as => :sub_network_ids
        has p_category(:id), :as => :cat_id
        has "RADIANS(lat)", :as => :lat, :type => :float
        has "RADIANS(lng)", :as => :lng, :type => :float
    
        group_by "lat", "lng"
    
        set_property :delta => (Rails.env.production? ? ::FlyingSphinx::ResqueDelta : true)
      end
    
    end
    
    class Experience < ActiveRecord::Base
    
      belongs_to :user
    
      after_save :set_delta
    
      def set_delta
        user.set_delta
      end
    
    end
    
    class SubNetworksUser < ActiveRecord::Base
      belongs_to :user
      belongs_to :sub_network
    
      after_save :set_delta
    
      protected
    
        def set_delta
          user.set_delta
        end
    
    end
    

    As you can see, I have a few after filters to trigger the location delta indexing after associated models have been saved.
    I wonder if this can cause the problem...

    Your help would be much appreciated, as it is very important for us to release asap.

    Thanks,
    Louis

  5. 6 Posted by louis.alban.kim on 18 Feb, 2012 08:34 AM

    louis.alban.kim's Avatar

    Hi Pat,

    I am Louis, the app developer.

    We created a private ticket with all the details, but it seems that you haven't received it.

    FYI : We wen't to http://support.flying-sphinx.com/, then Start a discussion (without creating an account on the support site) and checked private.
    Private url of the ticket is :
    http://support.flying-sphinx.com/discussions/problems/159-resque-de...
    Author : [email blocked]
    Screenshot attached

    We even posted it again as a reply to the public discussion of Jean... still not displayed.

    Anyway, here it is again, since your support site seem to cause problems.
    We are now trying with delayed jobs instead of resque. Will post the results in another reply.

    ========================

    Hi,

    We have a problem with our application alumniconnect-production with Flying Sphinx Ceramic.
    We are deploying and would like to release our app quickly. Could you help us troubleshoot the pb ?

    First, I think indexing is pretty slow. We only have a few documents (< 100 for now) and it take a few minute to heroku run rake fs:index.

    Then, our delta indexing resque queue seems to always have pending jobs : see attached screenshot of Resque web front.
    Once deltas have been queued up, it says there is always pending jobs : 15, then 14, then 15, etc...
    Even though when I check with heroku run console that our models deltas are all false after a while.

    Here is our config :

    Gemfile:

    gem 'thinking-sphinx', '~>2.0.11'
    gem 'flying-sphinx',   '~>0.6.2'
    gem 'resque'
    gem 'ts-resque-delta', git:'git://github.com/freelancing-god/ts-resque-delta.git', branch: 'fs-delta', require: 'flying_sphinx/resque_delta'
    

    Procfile:

    web:      bundle exec thin start -p $PORT
    worker:   env QUEUE=* bundle exec rake environment resque:work
    

    sphinx.yml

    default: &default
      min_infix_len: 4
      max_matches: 10000
      charset_table: "0..9, a..z, _, A..Z->a..z, U+00C0->a, U+00C1->a, U+00C2->a, U+00C3->a, U+00C4->a, U+00C5->a, U+00C7->c, U+00C8->e, U+00C9->e, U+00CA->e, U+00CB->e, U+00CC->i, U+00CD->i, U+00CE->i, U+00CF->i, U+00D1->n, U+00D2->o, U+00D3->o, U+00D4->o, U+00D5->o, U+00D6->o, U+00D8->o, U+00D9->u, U+00DA->u, U+00DB->u, U+00DC->u, U+00DD->y, U+00E0->a, U+00E1->a, U+00E2->a, U+00E3->a, U+00E4->a, U+00E5->a, U+00E7->c, U+00E8->e, U+00E9->e, U+00EA->e, U+00EB->e, U+00EC->i, U+00ED->i, U+00EE->i, U+00EF->i, U+00F1->n, U+00F2->o, U+00F3->o, U+00F4->o, U+00F5->o, U+00F6->o, U+00F8->o, U+00F9->u, U+00FA->u, U+00FB->u, U+00FC->u, U+00FD->y, U+00FF->y, U+0100->a, U+0101->a, U+0102->a, U+0103->a, U+0104->a, U+0105->a, U+0106->c, U+0107->c, U+0108->c, U+0109->c, U+010A->c, U+010B->c, U+010C->c, U+010D->c, U+010E->d, U+010F->d, U+0112->e, U+0113->e, U+0114->e, U+0115->e, U+0116->e, U+0117->e, U+0118->e, U+0119->e, U+011A->e, U+011B->e, U+011C->g, U+011D->g, U+011E->g, U+011F->g, U+0120->g, U+0121->g, U+0122->g, U+0123->g, U+0124->h, U+0125->h, U+0128->i, U+0129->i, U+012A->i, U+012B->i, U+012C->i, U+012D->i, U+012E->i, U+012F->i, U+0130->i, U+0134->j, U+0135->j, U+0136->k, U+0137->k, U+0139->l, U+013A->l, U+013B->l, U+013C->l, U+013D->l, U+013E->l, U+0142->l, U+0143->n, U+0144->n, U+0145->n, U+0146->n, U+0147->n, U+0148->n, U+014C->o, U+014D->o, U+014E->o, U+014F->o, U+0150->o, U+0151->o, U+0154->r, U+0155->r, U+0156->r, U+0157->r, U+0158->r, U+0159->r, U+015A->s, U+015B->s, U+015C->s, U+015D->s, U+015E->s, U+015F->s, U+0160->s, U+0161->s, U+0162->t, U+0163->t, U+0164->t, U+0165->t, U+0168->u, U+0169->u, U+016A->u, U+016B->u, U+016C->u, U+016D->u, U+016E->u, U+016F->u, U+0170->u, U+0171->u, U+0172->u, U+0173->u, U+0174->w, U+0175->w, U+0176->y, U+0177->y, U+0178->y, U+0179->z, U+017A->z, U+017B->z, U+017C->z, U+017D->z, U+017E->z, U+01A0->o, U+01A1->o, U+01AF->u, U+01B0->u, U+01CD->a, U+01CE->a, U+01CF->i, U+01D0->i, U+01D1->o, U+01D2->o, U+01D3->u, U+01D4->u, U+01D5->u, U+01D6->u, U+01D7->u, U+01D8->u, U+01D9->u, U+01DA->u, U+01DB->u, U+01DC->u, U+01DE->a, U+01DF->a, U+01E0->a, U+01E1->a, U+01E6->g, U+01E7->g, U+01E8->k, U+01E9->k, U+01EA->o, U+01EB->o, U+01EC->o, U+01ED->o, U+01F0->j, U+01F4->g, U+01F5->g, U+01F8->n, U+01F9->n, U+01FA->a, U+01FB->a, U+0200->a, U+0201->a, U+0202->a, U+0203->a, U+0204->e, U+0205->e, U+0206->e, U+0207->e, U+0208->i, U+0209->i, U+020A->i, U+020B->i, U+020C->o, U+020D->o, U+020E->o, U+020F->o, U+0210->r, U+0211->r, U+0212->r, U+0213->r, U+0214->u, U+0215->u, U+0216->u, U+0217->u, U+0218->s, U+0219->s, U+021A->t, U+021B->t, U+021E->h, U+021F->h, U+0226->a, U+0227->a, U+0228->e, U+0229->e, U+022A->o, U+022B->o, U+022C->o, U+022D->o, U+022E->o, U+022F->o, U+0230->o, U+0231->o, U+0232->y, U+0233->y, U+1E00->a, U+1E01->a, U+1E02->b, U+1E03->b, U+1E04->b, U+1E05->b, U+1E06->b, U+1E07->b, U+1E08->c, U+1E09->c, U+1E0A->d, U+1E0B->d, U+1E0C->d, U+1E0D->d, U+1E0E->d, U+1E0F->d, U+1E10->d, U+1E11->d, U+1E12->d, U+1E13->d, U+1E14->e, U+1E15->e, U+1E16->e, U+1E17->e, U+1E18->e, U+1E19->e, U+1E1A->e, U+1E1B->e, U+1E1C->e, U+1E1D->e, U+1E1E->f, U+1E1F->f, U+1E20->g, U+1E21->g, U+1E22->h, U+1E23->h, U+1E24->h, U+1E25->h, U+1E26->h, U+1E27->h, U+1E28->h, U+1E29->h, U+1E2A->h, U+1E2B->h, U+1E2C->i, U+1E2D->i, U+1E2E->i, U+1E2F->i, U+1E30->k, U+1E31->k, U+1E32->k, U+1E33->k, U+1E34->k, U+1E35->k, U+1E36->l, U+1E37->l, U+1E38->l, U+1E39->l, U+1E3A->l, U+1E3B->l, U+1E3C->l, U+1E3D->l, U+1E3E->m, U+1E3F->m, U+1E40->m, U+1E41->m, U+1E42->m, U+1E43->m, U+1E44->n, U+1E45->n, U+1E46->n, U+1E47->n, U+1E48->n, U+1E49->n, U+1E4A->n, U+1E4B->n, U+1E4C->o, U+1E4D->o, U+1E4E->o, U+1E4F->o, U+1E50->o, U+1E51->o, U+1E52->o, U+1E53->o, U+1E54->p, U+1E55->p, U+1E56->p, U+1E57->p, U+1E58->r, U+1E59->r, U+1E5A->r, U+1E5B->r, U+1E5C->r, U+1E5D->r, U+1E5E->r, U+1E5F->r, U+1E60->s, U+1E61->s, U+1E62->s, U+1E63->s, U+1E64->s, U+1E65->s, U+1E66->s, U+1E67->s, U+1E68->s, U+1E69->s, U+1E6A->t, U+1E6B->t, U+1E6C->t, U+1E6D->t, U+1E6E->t, U+1E6F->t, U+1E70->t, U+1E71->t, U+1E72->u, U+1E73->u, U+1E74->u, U+1E75->u, U+1E76->u, U+1E77->u, U+1E78->u, U+1E79->u, U+1E7A->u, U+1E7B->u, U+1E7C->v, U+1E7D->v, U+1E7E->v, U+1E7F->v, U+1E80->w, U+1E81->w, U+1E82->w, U+1E83->w, U+1E84->w, U+1E85->w, U+1E86->w, U+1E87->w, U+1E88->w, U+1E89->w, U+1E8A->x, U+1E8B->x, U+1E8C->x, U+1E8D->x, U+1E8E->y, U+1E8F->y, U+1E96->h, U+1E97->t, U+1E98->w, U+1E99->y, U+1EA0->a, U+1EA1->a, U+1EA2->a, U+1EA3->a, U+1EA4->a, U+1EA5->a, U+1EA6->a, U+1EA7->a, U+1EA8->a, U+1EA9->a, U+1EAA->a, U+1EAB->a, U+1EAC->a, U+1EAD->a, U+1EAE->a, U+1EAF->a, U+1EB0->a, U+1EB1->a, U+1EB2->a, U+1EB3->a, U+1EB4->a, U+1EB5->a, U+1EB6->a, U+1EB7->a, U+1EB8->e, U+1EB9->e, U+1EBA->e, U+1EBB->e, U+1EBC->e, U+1EBD->e, U+1EBE->e, U+1EBF->e, U+1EC0->e, U+1EC1->e, U+1EC2->e, U+1EC3->e, U+1EC4->e, U+1EC5->e, U+1EC6->e, U+1EC7->e, U+1EC8->i, U+1EC9->i, U+1ECA->i, U+1ECB->i, U+1ECC->o, U+1ECD->o, U+1ECE->o, U+1ECF->o, U+1ED0->o, U+1ED1->o, U+1ED2->o, U+1ED3->o, U+1ED4->o, U+1ED5->o, U+1ED6->o, U+1ED7->o, U+1ED8->o, U+1ED9->o, U+1EDA->o, U+1EDB->o, U+1EDC->o, U+1EDD->o, U+1EDE->o, U+1EDF->o, U+1EE0->o, U+1EE1->o, U+1EE2->o, U+1EE3->o, U+1EE4->u, U+1EE5->u, U+1EE6->u, U+1EE7->u, U+1EE8->u, U+1EE9->u, U+1EEA->u, U+1EEB->u, U+1EEC->u, U+1EED->u, U+1EEE->u, U+1EEF->u, U+1EF0->u, U+1EF1->u, U+1EF2->y, U+1EF3->y, U+1EF4->y, U+1EF5->y, U+1EF6->y, U+1EF7->y, U+1EF8->y, U+1EF9->y"
    
    development:
      <<: *default
      port: 9312
      config_file: 'config/sphinx/development.sphinx.conf'
    
    test:
      <<: *default
      port: 9313
      config_file: 'config/sphinx/test.sphinx.conf'
    
    staging:
      <<: *default
      port: 9312
      config_file: 'config/sphinx/staging.sphinx.conf'
      bin_path: "/usr/local/bin"
    
    production:
      <<: *default
      version: '1.10-beta'
    

    Models:

    class Location < ActiveRecord::Base
    
      belongs_to :user
    
      LOCATION_TYPES = { 'live' => 0, 'current' => 1, 'trip' => 2 }
    
      define_index do
        where "users.confirmed_at IS NOT NULL"
    
        indexes user.firstname
        indexes user.lastname
        indexes user.email
    
        has user.sub_networks(:id), :as => :sub_network_ids
        has "RADIANS(locations.lat)", :as => :lat, :type => :float
        has "RADIANS(locations.lng)", :as => :lng, :type => :float
        has "CASE users.gender WHEN 'male' THEN #{User::GENDERS_SPHINX['male']} WHEN 'female' THEN #{User::GENDERS_SPHINX['female']} END",
            :as => :gender_int, :type => :integer
        has user.nationalities(:id), :as => :nationality_id
        has user(:id), :as => :user_id
        has end_date, begin_date
        has "CASE location_type WHEN 'live' THEN #{LOCATION_TYPES['live']} WHEN 'current' THEN #{LOCATION_TYPES['current']} WHEN 'trip' THEN #{LOCATION_TYPES['trip']} END",
            :as => :location_type, :type => :integer
    
        has user.experiences.industry(:id), :as => :industry_ids
    
        group_by "locations.lat", "locations.lng"
        group_by "users.gender"
        group_by "location_type"
    
        set_property :delta => (Rails.env.production? ? ::FlyingSphinx::ResqueDelta : true)
      end
    
    end
    
    
    class User < ActiveRecord::Base
    
      GENDERS_SPHINX = { "female" => 0, "male" => 1 }
    
      has_many :sub_networks_users
      has_many :sub_networks, :through => :sub_networks_users
    
      after_save :set_delta
    
      # Delta update of associated locations
      def set_delta
        locations.each do |l|
          l.delta = true
          l.save(:validate => false)
        end
      end
    
    end
    
    class Post < ActiveRecord::Base
    
      define_index do
        indexes content
        indexes title
        indexes p_tag.name, :as => :tag
    
        where "draft <> true OR draft IS NULL"
    
        has start_at, finish_at, pushed_locally, all_network_visible, updated_at
        has end_publish_at, :type => :integer
        has sub_networks(:id), :as => :sub_network_ids
        has p_category(:id), :as => :cat_id
        has "RADIANS(lat)", :as => :lat, :type => :float
        has "RADIANS(lng)", :as => :lng, :type => :float
    
        group_by "lat", "lng"
    
        set_property :delta => (Rails.env.production? ? ::FlyingSphinx::ResqueDelta : true)
      end
    
    end
    
    class Experience < ActiveRecord::Base
    
      belongs_to :user
    
      after_save :set_delta
    
      def set_delta
        user.set_delta
      end
    
    end
    
    class SubNetworksUser < ActiveRecord::Base
      belongs_to :user
      belongs_to :sub_network
    
      after_save :set_delta
    
      protected
    
        def set_delta
          user.set_delta
        end
    
    end
    

    As you can see, I have a few after filters to trigger the location delta indexing after associated models have been saved.
    I wonder if this can cause the problem...

    Your help would be much appreciated, as it is very important for us to release asap.

    Thanks,
    Louis

  6. 7 Posted by louis.alban.kim on 18 Feb, 2012 08:41 AM

    louis.alban.kim's Avatar

    Tried several times to post the details here as a reply, but it doesn't work ! Is there a filter preventing my posts to be displayed ???

  7. 8 Posted by louis.alban.kim on 18 Feb, 2012 08:44 AM

    louis.alban.kim's Avatar

    Trying without the attachments....

    ========================

    Hi,

    We have a problem with our application alumniconnect-production with Flying Sphinx Ceramic.
    We are deploying and would like to release our app quickly. Could you help us troubleshoot the pb ?

    First, I think indexing is pretty slow. We only have a few documents (< 100 for now) and it take a few minute to heroku run rake fs:index.

    Then, our delta indexing resque queue seems to always have pending jobs : see attached screenshot of Resque web front.
    Once deltas have been queued up, it says there is always pending jobs : 15, then 14, then 15, etc...
    Even though when I check with heroku run console that our models deltas are all false after a while.

    Here is our config :

    Gemfile:

    gem 'thinking-sphinx', '~>2.0.11'
    gem 'flying-sphinx',   '~>0.6.2'
    gem 'resque'
    gem 'ts-resque-delta', git:'git://github.com/freelancing-god/ts-resque-delta.git', branch: 'fs-delta', require: 'flying_sphinx/resque_delta'
    

    Procfile:

    web:      bundle exec thin start -p $PORT
    worker:   env QUEUE=* bundle exec rake environment resque:work
    

    sphinx.yml

    default: &default
      min_infix_len: 4
      max_matches: 10000
      charset_table: "0..9, a..z, _, A..Z->a..z, U+00C0->a, U+00C1->a, U+00C2->a, U+00C3->a, U+00C4->a, U+00C5->a, U+00C7->c, U+00C8->e, U+00C9->e, U+00CA->e, U+00CB->e, U+00CC->i, U+00CD->i, U+00CE->i, U+00CF->i, U+00D1->n, U+00D2->o, U+00D3->o, U+00D4->o, U+00D5->o, U+00D6->o, U+00D8->o, U+00D9->u, U+00DA->u, U+00DB->u, U+00DC->u, U+00DD->y, U+00E0->a, U+00E1->a, U+00E2->a, U+00E3->a, U+00E4->a, U+00E5->a, U+00E7->c, U+00E8->e, U+00E9->e, U+00EA->e, U+00EB->e, U+00EC->i, U+00ED->i, U+00EE->i, U+00EF->i, U+00F1->n, U+00F2->o, U+00F3->o, U+00F4->o, U+00F5->o, U+00F6->o, U+00F8->o, U+00F9->u, U+00FA->u, U+00FB->u, U+00FC->u, U+00FD->y, U+00FF->y, U+0100->a, U+0101->a, U+0102->a, U+0103->a, U+0104->a, U+0105->a, U+0106->c, U+0107->c, U+0108->c, U+0109->c, U+010A->c, U+010B->c, U+010C->c, U+010D->c, U+010E->d, U+010F->d, U+0112->e, U+0113->e, U+0114->e, U+0115->e, U+0116->e, U+0117->e, U+0118->e, U+0119->e, U+011A->e, U+011B->e, U+011C->g, U+011D->g, U+011E->g, U+011F->g, U+0120->g, U+0121->g, U+0122->g, U+0123->g, U+0124->h, U+0125->h, U+0128->i, U+0129->i, U+012A->i, U+012B->i, U+012C->i, U+012D->i, U+012E->i, U+012F->i, U+0130->i, U+0134->j, U+0135->j, U+0136->k, U+0137->k, U+0139->l, U+013A->l, U+013B->l, U+013C->l, U+013D->l, U+013E->l, U+0142->l, U+0143->n, U+0144->n, U+0145->n, U+0146->n, U+0147->n, U+0148->n, U+014C->o, U+014D->o, U+014E->o, U+014F->o, U+0150->o, U+0151->o, U+0154->r, U+0155->r, U+0156->r, U+0157->r, U+0158->r, U+0159->r, U+015A->s, U+015B->s, U+015C->s, U+015D->s, U+015E->s, U+015F->s, U+0160->s, U+0161->s, U+0162->t, U+0163->t, U+0164->t, U+0165->t, U+0168->u, U+0169->u, U+016A->u, U+016B->u, U+016C->u, U+016D->u, U+016E->u, U+016F->u, U+0170->u, U+0171->u, U+0172->u, U+0173->u, U+0174->w, U+0175->w, U+0176->y, U+0177->y, U+0178->y, U+0179->z, U+017A->z, U+017B->z, U+017C->z, U+017D->z, U+017E->z, U+01A0->o, U+01A1->o, U+01AF->u, U+01B0->u, U+01CD->a, U+01CE->a, U+01CF->i, U+01D0->i, U+01D1->o, U+01D2->o, U+01D3->u, U+01D4->u, U+01D5->u, U+01D6->u, U+01D7->u, U+01D8->u, U+01D9->u, U+01DA->u, U+01DB->u, U+01DC->u, U+01DE->a, U+01DF->a, U+01E0->a, U+01E1->a, U+01E6->g, U+01E7->g, U+01E8->k, U+01E9->k, U+01EA->o, U+01EB->o, U+01EC->o, U+01ED->o, U+01F0->j, U+01F4->g, U+01F5->g, U+01F8->n, U+01F9->n, U+01FA->a, U+01FB->a, U+0200->a, U+0201->a, U+0202->a, U+0203->a, U+0204->e, U+0205->e, U+0206->e, U+0207->e, U+0208->i, U+0209->i, U+020A->i, U+020B->i, U+020C->o, U+020D->o, U+020E->o, U+020F->o, U+0210->r, U+0211->r, U+0212->r, U+0213->r, U+0214->u, U+0215->u, U+0216->u, U+0217->u, U+0218->s, U+0219->s, U+021A->t, U+021B->t, U+021E->h, U+021F->h, U+0226->a, U+0227->a, U+0228->e, U+0229->e, U+022A->o, U+022B->o, U+022C->o, U+022D->o, U+022E->o, U+022F->o, U+0230->o, U+0231->o, U+0232->y, U+0233->y, U+1E00->a, U+1E01->a, U+1E02->b, U+1E03->b, U+1E04->b, U+1E05->b, U+1E06->b, U+1E07->b, U+1E08->c, U+1E09->c, U+1E0A->d, U+1E0B->d, U+1E0C->d, U+1E0D->d, U+1E0E->d, U+1E0F->d, U+1E10->d, U+1E11->d, U+1E12->d, U+1E13->d, U+1E14->e, U+1E15->e, U+1E16->e, U+1E17->e, U+1E18->e, U+1E19->e, U+1E1A->e, U+1E1B->e, U+1E1C->e, U+1E1D->e, U+1E1E->f, U+1E1F->f, U+1E20->g, U+1E21->g, U+1E22->h, U+1E23->h, U+1E24->h, U+1E25->h, U+1E26->h, U+1E27->h, U+1E28->h, U+1E29->h, U+1E2A->h, U+1E2B->h, U+1E2C->i, U+1E2D->i, U+1E2E->i, U+1E2F->i, U+1E30->k, U+1E31->k, U+1E32->k, U+1E33->k, U+1E34->k, U+1E35->k, U+1E36->l, U+1E37->l, U+1E38->l, U+1E39->l, U+1E3A->l, U+1E3B->l, U+1E3C->l, U+1E3D->l, U+1E3E->m, U+1E3F->m, U+1E40->m, U+1E41->m, U+1E42->m, U+1E43->m, U+1E44->n, U+1E45->n, U+1E46->n, U+1E47->n, U+1E48->n, U+1E49->n, U+1E4A->n, U+1E4B->n, U+1E4C->o, U+1E4D->o, U+1E4E->o, U+1E4F->o, U+1E50->o, U+1E51->o, U+1E52->o, U+1E53->o, U+1E54->p, U+1E55->p, U+1E56->p, U+1E57->p, U+1E58->r, U+1E59->r, U+1E5A->r, U+1E5B->r, U+1E5C->r, U+1E5D->r, U+1E5E->r, U+1E5F->r, U+1E60->s, U+1E61->s, U+1E62->s, U+1E63->s, U+1E64->s, U+1E65->s, U+1E66->s, U+1E67->s, U+1E68->s, U+1E69->s, U+1E6A->t, U+1E6B->t, U+1E6C->t, U+1E6D->t, U+1E6E->t, U+1E6F->t, U+1E70->t, U+1E71->t, U+1E72->u, U+1E73->u, U+1E74->u, U+1E75->u, U+1E76->u, U+1E77->u, U+1E78->u, U+1E79->u, U+1E7A->u, U+1E7B->u, U+1E7C->v, U+1E7D->v, U+1E7E->v, U+1E7F->v, U+1E80->w, U+1E81->w, U+1E82->w, U+1E83->w, U+1E84->w, U+1E85->w, U+1E86->w, U+1E87->w, U+1E88->w, U+1E89->w, U+1E8A->x, U+1E8B->x, U+1E8C->x, U+1E8D->x, U+1E8E->y, U+1E8F->y, U+1E96->h, U+1E97->t, U+1E98->w, U+1E99->y, U+1EA0->a, U+1EA1->a, U+1EA2->a, U+1EA3->a, U+1EA4->a, U+1EA5->a, U+1EA6->a, U+1EA7->a, U+1EA8->a, U+1EA9->a, U+1EAA->a, U+1EAB->a, U+1EAC->a, U+1EAD->a, U+1EAE->a, U+1EAF->a, U+1EB0->a, U+1EB1->a, U+1EB2->a, U+1EB3->a, U+1EB4->a, U+1EB5->a, U+1EB6->a, U+1EB7->a, U+1EB8->e, U+1EB9->e, U+1EBA->e, U+1EBB->e, U+1EBC->e, U+1EBD->e, U+1EBE->e, U+1EBF->e, U+1EC0->e, U+1EC1->e, U+1EC2->e, U+1EC3->e, U+1EC4->e, U+1EC5->e, U+1EC6->e, U+1EC7->e, U+1EC8->i, U+1EC9->i, U+1ECA->i, U+1ECB->i, U+1ECC->o, U+1ECD->o, U+1ECE->o, U+1ECF->o, U+1ED0->o, U+1ED1->o, U+1ED2->o, U+1ED3->o, U+1ED4->o, U+1ED5->o, U+1ED6->o, U+1ED7->o, U+1ED8->o, U+1ED9->o, U+1EDA->o, U+1EDB->o, U+1EDC->o, U+1EDD->o, U+1EDE->o, U+1EDF->o, U+1EE0->o, U+1EE1->o, U+1EE2->o, U+1EE3->o, U+1EE4->u, U+1EE5->u, U+1EE6->u, U+1EE7->u, U+1EE8->u, U+1EE9->u, U+1EEA->u, U+1EEB->u, U+1EEC->u, U+1EED->u, U+1EEE->u, U+1EEF->u, U+1EF0->u, U+1EF1->u, U+1EF2->y, U+1EF3->y, U+1EF4->y, U+1EF5->y, U+1EF6->y, U+1EF7->y, U+1EF8->y, U+1EF9->y"
    
    development:
      <<: *default
      port: 9312
      config_file: 'config/sphinx/development.sphinx.conf'
    
    test:
      <<: *default
      port: 9313
      config_file: 'config/sphinx/test.sphinx.conf'
    
    staging:
      <<: *default
      port: 9312
      config_file: 'config/sphinx/staging.sphinx.conf'
      bin_path: "/usr/local/bin"
    
    production:
      <<: *default
      version: '1.10-beta'
    

    Models:

    class Location < ActiveRecord::Base
    
      belongs_to :user
    
      LOCATION_TYPES = { 'live' => 0, 'current' => 1, 'trip' => 2 }
    
      define_index do
        where "users.confirmed_at IS NOT NULL"
    
        indexes user.firstname
        indexes user.lastname
        indexes user.email
    
        has user.sub_networks(:id), :as => :sub_network_ids
        has "RADIANS(locations.lat)", :as => :lat, :type => :float
        has "RADIANS(locations.lng)", :as => :lng, :type => :float
        has "CASE users.gender WHEN 'male' THEN #{User::GENDERS_SPHINX['male']} WHEN 'female' THEN #{User::GENDERS_SPHINX['female']} END",
            :as => :gender_int, :type => :integer
        has user.nationalities(:id), :as => :nationality_id
        has user(:id), :as => :user_id
        has end_date, begin_date
        has "CASE location_type WHEN 'live' THEN #{LOCATION_TYPES['live']} WHEN 'current' THEN #{LOCATION_TYPES['current']} WHEN 'trip' THEN #{LOCATION_TYPES['trip']} END",
            :as => :location_type, :type => :integer
    
        has user.experiences.industry(:id), :as => :industry_ids
    
        group_by "locations.lat", "locations.lng"
        group_by "users.gender"
        group_by "location_type"
    
        set_property :delta => (Rails.env.production? ? ::FlyingSphinx::ResqueDelta : true)
      end
    
    end
    
    
    class User < ActiveRecord::Base
    
      GENDERS_SPHINX = { "female" => 0, "male" => 1 }
    
      has_many :sub_networks_users
      has_many :sub_networks, :through => :sub_networks_users
    
      after_save :set_delta
    
      # Delta update of associated locations
      def set_delta
        locations.each do |l|
          l.delta = true
          l.save(:validate => false)
        end
      end
    
    end
    
    class Post < ActiveRecord::Base
    
      define_index do
        indexes content
        indexes title
        indexes p_tag.name, :as => :tag
    
        where "draft <> true OR draft IS NULL"
    
        has start_at, finish_at, pushed_locally, all_network_visible, updated_at
        has end_publish_at, :type => :integer
        has sub_networks(:id), :as => :sub_network_ids
        has p_category(:id), :as => :cat_id
        has "RADIANS(lat)", :as => :lat, :type => :float
        has "RADIANS(lng)", :as => :lng, :type => :float
    
        group_by "lat", "lng"
    
        set_property :delta => (Rails.env.production? ? ::FlyingSphinx::ResqueDelta : true)
      end
    
    end
    
    class Experience < ActiveRecord::Base
    
      belongs_to :user
    
      after_save :set_delta
    
      def set_delta
        user.set_delta
      end
    
    end
    
    class SubNetworksUser < ActiveRecord::Base
      belongs_to :user
      belongs_to :sub_network
    
      after_save :set_delta
    
      protected
    
        def set_delta
          user.set_delta
        end
    
    end
    

    As you can see, I have a few after filters to trigger the location delta indexing after associated models have been saved.
    I wonder if this can cause the problem...

    Your help would be much appreciated, as it is very important for us to release asap.

    Thanks,
    Louis

  8. 9 Posted by info on 18 Feb, 2012 08:52 AM

    info's Avatar

    Hi,

    We have a problem with our application alumniconnect-production with Flying Sphinx Ceramic.
    We are deploying and would like to release our app quickly. Could you help us troubleshoot the pb ?

    First, I think indexing is pretty slow. We only have a few documents (< 100 for now) and it take a few minute to heroku run rake fs:index.

    Then, our delta indexing resque queue seems to always have pending jobs : see attached screenshot of Resque web front.
    Once deltas have been queued up, it says there is always pending jobs : 15, then 14, then 15, etc...
    Even though when I check with heroku run console that our models deltas are all false after a while.

    Here is our config :

    Gemfile:

    gem 'thinking-sphinx', '~>2.0.11'
    gem 'flying-sphinx',   '~>0.6.2'
    gem 'resque'
    gem 'ts-resque-delta', git:'git://github.com/freelancing-god/ts-resque-delta.git', branch: 'fs-delta', require: 'flying_sphinx/resque_delta'
    

    Procfile:

    web:      bundle exec thin start -p $PORT
    worker:   env QUEUE=* bundle exec rake environment resque:work
    

    sphinx.yml

    default: &default
      min_infix_len: 4
      max_matches: 10000
      charset_table: "0..9, a..z, _, A..Z->a..z, U+00C0->a, U+00C1->a, U+00C2->a, U+00C3->a, U+00C4->a, U+00C5->a, U+00C7->c, U+00C8->e, U+00C9->e, U+00CA->e, U+00CB->e, U+00CC->i, U+00CD->i, U+00CE->i, U+00CF->i, U+00D1->n, U+00D2->o, U+00D3->o, U+00D4->o, U+00D5->o, U+00D6->o, U+00D8->o, U+00D9->u, U+00DA->u, U+00DB->u, U+00DC->u, U+00DD->y, U+00E0->a, U+00E1->a, U+00E2->a, U+00E3->a, U+00E4->a, U+00E5->a, U+00E7->c, U+00E8->e, U+00E9->e, U+00EA->e, U+00EB->e, U+00EC->i, U+00ED->i, U+00EE->i, U+00EF->i, U+00F1->n, U+00F2->o, U+00F3->o, U+00F4->o, U+00F5->o, U+00F6->o, U+00F8->o, U+00F9->u, U+00FA->u, U+00FB->u, U+00FC->u, U+00FD->y, U+00FF->y, U+0100->a, U+0101->a, U+0102->a, U+0103->a, U+0104->a, U+0105->a, U+0106->c, U+0107->c, U+0108->c, U+0109->c, U+010A->c, U+010B->c, U+010C->c, U+010D->c, U+010E->d, U+010F->d, U+0112->e, U+0113->e, U+0114->e, U+0115->e, U+0116->e, U+0117->e, U+0118->e, U+0119->e, U+011A->e, U+011B->e, U+011C->g, U+011D->g, U+011E->g, U+011F->g, U+0120->g, U+0121->g, U+0122->g, U+0123->g, U+0124->h, U+0125->h, U+0128->i, U+0129->i, U+012A->i, U+012B->i, U+012C->i, U+012D->i, U+012E->i, U+012F->i, U+0130->i, U+0134->j, U+0135->j, U+0136->k, U+0137->k, U+0139->l, U+013A->l, U+013B->l, U+013C->l, U+013D->l, U+013E->l, U+0142->l, U+0143->n, U+0144->n, U+0145->n, U+0146->n, U+0147->n, U+0148->n, U+014C->o, U+014D->o, U+014E->o, U+014F->o, U+0150->o, U+0151->o, U+0154->r, U+0155->r, U+0156->r, U+0157->r, U+0158->r, U+0159->r, U+015A->s, U+015B->s, U+015C->s, U+015D->s, U+015E->s, U+015F->s, U+0160->s, U+0161->s, U+0162->t, U+0163->t, U+0164->t, U+0165->t, U+0168->u, U+0169->u, U+016A->u, U+016B->u, U+016C->u, U+016D->u, U+016E->u, U+016F->u, U+0170->u, U+0171->u, U+0172->u, U+0173->u, U+0174->w, U+0175->w, U+0176->y, U+0177->y, U+0178->y, U+0179->z, U+017A->z, U+017B->z, U+017C->z, U+017D->z, U+017E->z, U+01A0->o, U+01A1->o, U+01AF->u, U+01B0->u, U+01CD->a, U+01CE->a, U+01CF->i, U+01D0->i, U+01D1->o, U+01D2->o, U+01D3->u, U+01D4->u, U+01D5->u, U+01D6->u, U+01D7->u, U+01D8->u, U+01D9->u, U+01DA->u, U+01DB->u, U+01DC->u, U+01DE->a, U+01DF->a, U+01E0->a, U+01E1->a, U+01E6->g, U+01E7->g, U+01E8->k, U+01E9->k, U+01EA->o, U+01EB->o, U+01EC->o, U+01ED->o, U+01F0->j, U+01F4->g, U+01F5->g, U+01F8->n, U+01F9->n, U+01FA->a, U+01FB->a, U+0200->a, U+0201->a, U+0202->a, U+0203->a, U+0204->e, U+0205->e, U+0206->e, U+0207->e, U+0208->i, U+0209->i, U+020A->i, U+020B->i, U+020C->o, U+020D->o, U+020E->o, U+020F->o, U+0210->r, U+0211->r, U+0212->r, U+0213->r, U+0214->u, U+0215->u, U+0216->u, U+0217->u, U+0218->s, U+0219->s, U+021A->t, U+021B->t, U+021E->h, U+021F->h, U+0226->a, U+0227->a, U+0228->e, U+0229->e, U+022A->o, U+022B->o, U+022C->o, U+022D->o, U+022E->o, U+022F->o, U+0230->o, U+0231->o, U+0232->y, U+0233->y, U+1E00->a, U+1E01->a, U+1E02->b, U+1E03->b, U+1E04->b, U+1E05->b, U+1E06->b, U+1E07->b, U+1E08->c, U+1E09->c, U+1E0A->d, U+1E0B->d, U+1E0C->d, U+1E0D->d, U+1E0E->d, U+1E0F->d, U+1E10->d, U+1E11->d, U+1E12->d, U+1E13->d, U+1E14->e, U+1E15->e, U+1E16->e, U+1E17->e, U+1E18->e, U+1E19->e, U+1E1A->e, U+1E1B->e, U+1E1C->e, U+1E1D->e, U+1E1E->f, U+1E1F->f, U+1E20->g, U+1E21->g, U+1E22->h, U+1E23->h, U+1E24->h, U+1E25->h, U+1E26->h, U+1E27->h, U+1E28->h, U+1E29->h, U+1E2A->h, U+1E2B->h, U+1E2C->i, U+1E2D->i, U+1E2E->i, U+1E2F->i, U+1E30->k, U+1E31->k, U+1E32->k, U+1E33->k, U+1E34->k, U+1E35->k, U+1E36->l, U+1E37->l, U+1E38->l, U+1E39->l, U+1E3A->l, U+1E3B->l, U+1E3C->l, U+1E3D->l, U+1E3E->m, U+1E3F->m, U+1E40->m, U+1E41->m, U+1E42->m, U+1E43->m, U+1E44->n, U+1E45->n, U+1E46->n, U+1E47->n, U+1E48->n, U+1E49->n, U+1E4A->n, U+1E4B->n, U+1E4C->o, U+1E4D->o, U+1E4E->o, U+1E4F->o, U+1E50->o, U+1E51->o, U+1E52->o, U+1E53->o, U+1E54->p, U+1E55->p, U+1E56->p, U+1E57->p, U+1E58->r, U+1E59->r, U+1E5A->r, U+1E5B->r, U+1E5C->r, U+1E5D->r, U+1E5E->r, U+1E5F->r, U+1E60->s, U+1E61->s, U+1E62->s, U+1E63->s, U+1E64->s, U+1E65->s, U+1E66->s, U+1E67->s, U+1E68->s, U+1E69->s, U+1E6A->t, U+1E6B->t, U+1E6C->t, U+1E6D->t, U+1E6E->t, U+1E6F->t, U+1E70->t, U+1E71->t, U+1E72->u, U+1E73->u, U+1E74->u, U+1E75->u, U+1E76->u, U+1E77->u, U+1E78->u, U+1E79->u, U+1E7A->u, U+1E7B->u, U+1E7C->v, U+1E7D->v, U+1E7E->v, U+1E7F->v, U+1E80->w, U+1E81->w, U+1E82->w, U+1E83->w, U+1E84->w, U+1E85->w, U+1E86->w, U+1E87->w, U+1E88->w, U+1E89->w, U+1E8A->x, U+1E8B->x, U+1E8C->x, U+1E8D->x, U+1E8E->y, U+1E8F->y, U+1E96->h, U+1E97->t, U+1E98->w, U+1E99->y, U+1EA0->a, U+1EA1->a, U+1EA2->a, U+1EA3->a, U+1EA4->a, U+1EA5->a, U+1EA6->a, U+1EA7->a, U+1EA8->a, U+1EA9->a, U+1EAA->a, U+1EAB->a, U+1EAC->a, U+1EAD->a, U+1EAE->a, U+1EAF->a, U+1EB0->a, U+1EB1->a, U+1EB2->a, U+1EB3->a, U+1EB4->a, U+1EB5->a, U+1EB6->a, U+1EB7->a, U+1EB8->e, U+1EB9->e, U+1EBA->e, U+1EBB->e, U+1EBC->e, U+1EBD->e, U+1EBE->e, U+1EBF->e, U+1EC0->e, U+1EC1->e, U+1EC2->e, U+1EC3->e, U+1EC4->e, U+1EC5->e, U+1EC6->e, U+1EC7->e, U+1EC8->i, U+1EC9->i, U+1ECA->i, U+1ECB->i, U+1ECC->o, U+1ECD->o, U+1ECE->o, U+1ECF->o, U+1ED0->o, U+1ED1->o, U+1ED2->o, U+1ED3->o, U+1ED4->o, U+1ED5->o, U+1ED6->o, U+1ED7->o, U+1ED8->o, U+1ED9->o, U+1EDA->o, U+1EDB->o, U+1EDC->o, U+1EDD->o, U+1EDE->o, U+1EDF->o, U+1EE0->o, U+1EE1->o, U+1EE2->o, U+1EE3->o, U+1EE4->u, U+1EE5->u, U+1EE6->u, U+1EE7->u, U+1EE8->u, U+1EE9->u, U+1EEA->u, U+1EEB->u, U+1EEC->u, U+1EED->u, U+1EEE->u, U+1EEF->u, U+1EF0->u, U+1EF1->u, U+1EF2->y, U+1EF3->y, U+1EF4->y, U+1EF5->y, U+1EF6->y, U+1EF7->y, U+1EF8->y, U+1EF9->y"
    
    development:
      <<: *default
      port: 9312
      config_file: 'config/sphinx/development.sphinx.conf'
    
    test:
      <<: *default
      port: 9313
      config_file: 'config/sphinx/test.sphinx.conf'
    
    staging:
      <<: *default
      port: 9312
      config_file: 'config/sphinx/staging.sphinx.conf'
      bin_path: "/usr/local/bin"
    
    production:
      <<: *default
      version: '1.10-beta'
    

    Models:

    class Location < ActiveRecord::Base
    
      belongs_to :user
    
      LOCATION_TYPES = { 'live' => 0, 'current' => 1, 'trip' => 2 }
    
      define_index do
        where "users.confirmed_at IS NOT NULL"
    
        indexes user.firstname
        indexes user.lastname
        indexes user.email
    
        has user.sub_networks(:id), :as => :sub_network_ids
        has "RADIANS(locations.lat)", :as => :lat, :type => :float
        has "RADIANS(locations.lng)", :as => :lng, :type => :float
        has "CASE users.gender WHEN 'male' THEN #{User::GENDERS_SPHINX['male']} WHEN 'female' THEN #{User::GENDERS_SPHINX['female']} END",
            :as => :gender_int, :type => :integer
        has user.nationalities(:id), :as => :nationality_id
        has user(:id), :as => :user_id
        has end_date, begin_date
        has "CASE location_type WHEN 'live' THEN #{LOCATION_TYPES['live']} WHEN 'current' THEN #{LOCATION_TYPES['current']} WHEN 'trip' THEN #{LOCATION_TYPES['trip']} END",
            :as => :location_type, :type => :integer
    
        has user.experiences.industry(:id), :as => :industry_ids
    
        group_by "locations.lat", "locations.lng"
        group_by "users.gender"
        group_by "location_type"
    
        set_property :delta => (Rails.env.production? ? ::FlyingSphinx::ResqueDelta : true)
      end
    
    end
    
    
    class User < ActiveRecord::Base
    
      GENDERS_SPHINX = { "female" => 0, "male" => 1 }
    
      has_many :sub_networks_users
      has_many :sub_networks, :through => :sub_networks_users
    
      after_save :set_delta
    
      # Delta update of associated locations
      def set_delta
        locations.each do |l|
          l.delta = true
          l.save(:validate => false)
        end
      end
    
    end
    
    class Post < ActiveRecord::Base
    
      define_index do
        indexes content
        indexes title
        indexes p_tag.name, :as => :tag
    
        where "draft <> true OR draft IS NULL"
    
        has start_at, finish_at, pushed_locally, all_network_visible, updated_at
        has end_publish_at, :type => :integer
        has sub_networks(:id), :as => :sub_network_ids
        has p_category(:id), :as => :cat_id
        has "RADIANS(lat)", :as => :lat, :type => :float
        has "RADIANS(lng)", :as => :lng, :type => :float
    
        group_by "lat", "lng"
    
        set_property :delta => (Rails.env.production? ? ::FlyingSphinx::ResqueDelta : true)
      end
    
    end
    
    class Experience < ActiveRecord::Base
    
      belongs_to :user
    
      after_save :set_delta
    
      def set_delta
        user.set_delta
      end
    
    end
    
    class SubNetworksUser < ActiveRecord::Base
      belongs_to :user
      belongs_to :sub_network
    
      after_save :set_delta
    
      protected
    
        def set_delta
          user.set_delta
        end
    
    end
    

    As you can see, I have a few after filters to trigger the location delta indexing after associated models have been saved.
    I wonder if this can cause the problem...

    Your help would be much appreciated, as it is very important for us to release asap.

    Thanks,
    Louis

  9. 10 Posted by info on 18 Feb, 2012 08:52 AM

    info's Avatar

    This is insanely bad...

  10. Support Staff 11 Posted by Pat Allan on 18 Feb, 2012 10:32 AM

    Pat Allan's Avatar

    Not sure why I wasn't notified about the original post - perhaps something's not working well from Tender's perspective (the provider of this support site). Anyway, I've responded via Heroku's support page, given that's proving to be a bit more reliable. Let's continue the conversation there instead of repeating ourselves in more than one location.

  11. 12 Posted by Jean Hamon on 25 Mar, 2012 02:47 PM

    Jean Hamon's Avatar

    Ca y est, je viens d¹en finir avec la Sign in page... Tu la trouveras dans
    la Dropbox (final delivery > sign in page.psd)
    Bon courage,
    Jean

  12. Support Staff 13 Posted by Pat Allan on 25 Mar, 2012 10:55 PM

    Pat Allan's Avatar

    Hi Jean

    I'm not sure you've realised, but I don't think you meant to send that email here.

    Kind regards,

    Pat

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac