resque / resque-web

a Rails-based web interface to Resque
235 stars 166 forks source link

Relative url path is ignored #143

Open suryateja619 opened 6 years ago

suryateja619 commented 6 years ago

We have relative URL path setup for the web server in prod. The links in the resque_web interface are not honoring the relative URL path when the links are clicked in the web. Is there any setting where we can fix it?

mlh758 commented 5 years ago

I made an alternative project that works under a relative url. Check it out here

ravimisra commented 3 years ago

What worked for me is:

  1. Mount ResqueWeb in config/routes.rb as follows:

    require "resque_web"
    Rails.application.routes.draw do
      mount ResqueWeb::Engine => "/resque/"
      root 'resque_web/overview#show'
    end
    1. set relative URL root in config/application.rb:

      config.relative_url_root = '/resque'

    2. update Nginx config as follows

      location ~ ^/resque/(.*|$) {
      alias /home/ravi/ws/ror/resque-web/public$1; passenger_app_root /home/ravi/ws/ror/resque-web; passenger_document_root /home/ravi/ws/ror/resque-web/public; passenger_enabled on; passenger_app_env development; }

Every link on the resque dashboard is generated with prefixed /resque e.g. /resque/workers points to list of workers i.e. resque_web/workers#index

my rake routes output is:

Prefix Verb URI Pattern Controller#Action
resque_web      /resque     ResqueWeb::Engine
      root GET  /           resque_web/overview#show

Routes for ResqueWeb::Plugins::ResqueScheduler::Engine:
          schedules GET    /schedule(.:format)                     resque_web/plugins/resque_scheduler/schedules#index
            requeue POST   /schedule/requeue(.:format)             resque_web/plugins/resque_scheduler/schedules#requeue
requeue_with_params POST   /schedule/requeue_with_params(.:format) resque_web/plugins/resque_scheduler/schedules#requeue_with_params
           schedule DELETE /schedule(.:format)                     resque_web/plugins/resque_scheduler/schedules#destroy
            delayed GET    /delayed(.:format)                      resque_web/plugins/resque_scheduler/delayed#index
  delayed_job_class GET    /delayed/jobs/:klass(.:format)          resque_web/plugins/resque_scheduler/delayed#jobs_klass
     delayed_search POST   /delayed/search(.:format)               resque_web/plugins/resque_scheduler/delayed#search
          timestamp GET    /delayed/:timestamp(.:format)           resque_web/plugins/resque_scheduler/delayed#timestamp
          queue_now POST   /delayed/queue_now(.:format)            resque_web/plugins/resque_scheduler/delayed#queue_now
         cancel_now POST   /delayed/cancel_now(.:format)           resque_web/plugins/resque_scheduler/delayed#cancel_now
              clear POST   /delayed/clear(.:format)                resque_web/plugins/resque_scheduler/delayed#clear

Routes for ResqueWeb::Engine:
resque_web_plugins_resque_scheduler        /scheduler                      ResqueWeb::Plugins::ResqueScheduler::Engine
                           overview GET    /overview(.:format)             resque_web/overview#show
                      working_index GET    /working(.:format)              resque_web/working#index
                        clear_queue PUT    /queues/:id/clear(.:format)     resque_web/queues#clear {:id=>/[^\/]+/}
                             queues GET    /queues(.:format)               resque_web/queues#index
                              queue GET    /queues/:id(.:format)           resque_web/queues#show {:id=>/[^\/]+/}
                                    DELETE /queues/:id(.:format)           resque_web/queues#destroy {:id=>/[^\/]+/}
                            workers GET    /workers(.:format)              resque_web/workers#index
                             worker GET    /workers/:id(.:format)          resque_web/workers#show {:id=>/[^\/]+/}
                      retry_failure PUT    /failures/:id/retry(.:format)   resque_web/failures#retry
                 retry_all_failures PUT    /failures/retry_all(.:format)   resque_web/failures#retry_all
               destroy_all_failures DELETE /failures/destroy_all(.:format) resque_web/failures#destroy_all
                           failures GET    /failures(.:format)             resque_web/failures#index
                            failure GET    /failures/:id(.:format)         resque_web/failures#show
                                    DELETE /failures/:id(.:format)         resque_web/failures#destroy
                              stats GET    /stats(.:format)                resque_web/stats#index
                       stats_resque GET    /stats/resque(.:format)         resque_web/stats#resque
                        stats_redis GET    /stats/redis(.:format)          resque_web/stats#redis
                         stats_keys GET    /stats/keys(.:format)           resque_web/stats#keys
                     keys_statistic GET    /stats/keys/:id(.:format)       resque_web/stats#keys {:id=>/[^\/]+/}
                               root GET    /                               resque_web/overview#show