[editar]¡Esta respuesta es para la serie Play 1. *!
Usted debe escribir un módulo personalizado, a continuación, los comandos de entrar en el commands.py
archivo, ref: http://www.playframework.org/documentation/1.2.4/releasenotes-1.1#commands
Usted puede mirar en módulos existentes para inspirarse, por ejemplo: https://github.com/sim51/logisima-play-yml/blob/master/commands.py
Básicamente se definen los comandos que desee y su lanzamiento desde el método de "ejecutar", por ejemplo:
COMMANDS = ['namespace:command']
def execute(**kargs):
command = kargs.get("command")
app = kargs.get("app")
args = kargs.get("args")
env = kargs.get("env")
if command == "namespace:command":
do_something()
si usted quiere poner en marcha algo java - a menudo el caso! -:
def do_something():
java_cmd = app.java_cmd([], None, "play.modules.mymodule.MyClass", args)
try:
subprocess.call(java_cmd, env=os.environ)
except OSError:
print "Could not execute the java executable, please make sure the JAVA_HOME environment variable is set properly (the java executable should reside at JAVA_HOME/bin/java). "
sys.exit(-1)
print
Ps.
crear un módulo personalizado es tan fácil como:
play new-module mymodule
Esta es una imprimación: http://playframework.wordpress.com/2011/02/27/play-modules/, teniendo en cuenta que oficial Play! module documentation es bastante limitado en ese sentido
edición
pensé Agregaría una pequeña información:
befor Si puede ejecutar sus comandos, debe CONSTRUIR su módulo. No funciona como el resto del juego con una compilación dinámica.
play build-module mymodule
nuevo módulo/módulo de acumulación de esperar que el módulo sea en la raíz de la carpeta del proyecto, pero si usted tiene muchos que se convierte en un desastre. build-module module-srcs/mymodule
funciona perfectamente bien.
¿Qué tipo de tareas desea ejecutar? Si lo necesitas para construir, el juego es bastante bueno. No necesita ninguna otra herramienta. Pero si necesita programar algunas tareas como el envío de correo, reindexar vs ... puede usar la clase de trabajo en Play. – Luffy
Todo tipo de tareas no estándar: generación de documentación asciidoc, inicialización de base de datos y migraciones, pruebas automáticas no estándar, etc. – qertoip
"tareas" es un poco ambiguo, aunque en rastrillo así es como se llaman. ¡En juego! son "comandos" – Stefano