Skip to content

Instantly share code, notes, and snippets.

@midu
Created May 25, 2012 17:59
Show Gist options
  • Select an option

  • Save midu/2789518 to your computer and use it in GitHub Desktop.

Select an option

Save midu/2789518 to your computer and use it in GitHub Desktop.

Jme fais un makefile pour start mon environment de travail car j'en ai marre de taper 200 commandes.

yen a une qui lance le moteur de recherche

sunspot: stop_sunspot
	cd /web/platform && bundle exec rake sunspot:solr:start RAILS_ENV=development
stop_sunspot:
	cd /web/platform && bundle exec rake sunspot:solr:stop RAILS_ENV=development

En gros, je voudrais que si sunspot est en train de run, ca le stoppe puis ca le lance.

Le truc c'est que stop_sunspot ca foire si sunspot est pas lancé du coup la premiere fois que je run la commande, ca foire.

je sais que quand je lance sunspot ca cree un fichier avec le pid du programme (/web/platform/sunspot/sunspot.pid), donc en gros je voudrais que stop_sunspot ne run que si le fichier existe.

Dans mes vagues souvenirs makefile testait la presence/changement de fichiers avant de run une commande (pour ne compiler que ce que tu veux). Sauf que j'arrive a faire marcher le truc...

T'as une idée de comment faire ça ?

@midu
Copy link
Author

midu commented May 25, 2012

stop_sunspot:
    cd $(PLATFORM_PATH) && [ -f $(SOLR_PID_PATH) ] && bundle exec rake sunspot:solr:stop RAILS_ENV=development || echo 'solr not running'

ça ça marche mais c'est pas ultra élégant

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment