* Add basic files structure for spanish translation of the doc * Translate the video tutorial index page * Translate Before Start page * Translate What is an app page * Translate the Bench page * Translate Conslusion page of the tutorial * Translate to spanish Tutorial Index page * Translate to spanish Reports page * Translate to Spanish Roles Page * Translate to Spanish the Tutorial Model Page * Translate to Spanish the tutorial Single Doctypes page * Translate to Spanish the tutorial Doctype files structure page * Translate to Spanish the tutorial Start Bench page * Translate to Spanish the tutorial New App page * Translate to Spanish the tutorial Client Side Script page * Translate to Spanish the tutorial Users and records page * Translate to Spanish the tutorial Setting Up the site page * Translate to Spanish the tutorial Task Runner page * Translate to Spanish the tutorial Controllers Page * Translate to Spanish the tutorial Doctypes page * Translate to Spanish the tutorial Naming And Linking page * Translate to Spanish the tutorial Web Views page * Add basic file structure to translate the bench section of the tutorial * [docs] Translate to Spanish the tutorial Adding custom domain page * [docs] Translate to Spanish the tutorial Configuring HTTPS page * [docs] Translate to Spanish the tutorial Diagnosing the Scheduler page * [docs] Translate to Spanish the tutorial Settings Site Limits\ page * [docs] Translate to Spanish the tutorial Setup Production page * [docs] Translate to Spanish the tutorial Bench ProcFile page * [docs] Translate to Spanish the tutorial Manual Setup page * [docs] Translate to Spanish the tutorial Background Services page * [docs] Translate to Spanish the tutorial Lets Encrypt Setup page * [docs] Translate to Spanish the tutorial Setup Multitenancy page * [docs] Translate to Spanish the tutorial Bench Commands pageversion-14
@@ -0,0 +1,28 @@ | |||
# Agregando dominios personalizados a su Site | |||
Puedes agregar **multiples dominios personalizados** para un site, ejecutando el comando: | |||
bench setup add-domain [dominio] | |||
Al ejecutar el comando debes especificar para cual site quieres establecer el dominio personalizado. | |||
También, puedes configurar el SSL para su dominio personalizado usando las opciones: | |||
--ssl-certificate [ruta-al-certificado] | |||
--ssl-certificate-key [ruta-a-la--clave-certificado] | |||
Ejemplo: | |||
bench setup add-domain custom.erpnext.com --ssl-certificate /etc/letsencrypt/live/erpnext.cert --ssl-certificate-key /etc/letsencrypt/live/erpnext.key | |||
La configuración el dominio es almacenada en las configuraciones del site en su archivo site_config.json | |||
"domains": [ | |||
{ | |||
"ssl_certificate": "/etc/letsencrypt/live/erpnext.cert", | |||
"domain": "erpnext.com", | |||
"ssl_certificate_key": "/etc/letsencrypt/live/erpnext.key" | |||
} | |||
], | |||
**Luego debes regenerar las configuraciones de nginx ejecutando el comando `bench setup nginx` y reiniciando el servicio de nginx para que los cambios de los dominios tomen efecto** |
@@ -0,0 +1,48 @@ | |||
# Configurando HTTPS | |||
### Obtener los archivos requeridos | |||
Puede obtener un certificado SSL de una entidad emisora de certificados de confianza o generar su propio certificado. | |||
Para los certificados auto-firmados, el navegador mostrará una advertencia de que el certificado no es de confianza. [Aquí hay un tutorial para usar Let's Encrypt para obtener un certificado SSL gratuito](lets-encrypt-ssl-setup.html) | |||
Los archivos obligatorios son: | |||
* Certificado (Normalmente con extensión .crt) | |||
* Clave privada descifrada | |||
Si tienes varios certificados (primario e intermedios), tendrás que unirlos. Por ejemplo, | |||
cat su_certificado.crt CA.crt >> certificate_bundle.crt | |||
También asegúrese que su clave privada no sea legible. Generalmente, solo puede ser leída por root ya que normalmente es el dueño de la misma. | |||
chown root private.key | |||
chmod 600 private.key | |||
### Mueva los dos archivos a una ruta confiable | |||
mkdir /etc/nginx/conf.d/ssl | |||
mv private.key /etc/nginx/conf.d/ssl/private.key | |||
mv certificate_bundle.crt /etc/nginx/conf.d/ssl/certificate_bundle.crt | |||
### Establecer configuraciones de nginx | |||
Configura las rutas al certificado y la clave privada de su site. | |||
bench set-ssl-certificate site1.local /etc/nginx/conf.d/ssl/certificate_bundle.crt | |||
bench set-ssl-key site1.local /etc/nginx/conf.d/ssl/private.key | |||
### Generar la configuració de nginx | |||
bench setup nginx | |||
### Reiniciar nginx | |||
sudo service nginx reload | |||
o | |||
systemctl reload nginx # for CentOS 7 | |||
Ahora que tienes configurado el SSL, todo el tráfico HTTP va a ser redireccionado a HTTPS |
@@ -0,0 +1,31 @@ | |||
<!-- markdown --> | |||
En caso que estes experimentando inconvenientes con las tareas programadas, puedes ejecutar varios comandos para diagnosticar el problema. | |||
### `bench doctor` | |||
Esto va a mostrar en la consola lo siguiente en orden: | |||
- El estado del Scheduler por site | |||
- Número de Workers | |||
- Tareas Pendientes | |||
Salida deseada: | |||
Workers online: 0 | |||
-----None Jobs----- | |||
### `bench --site [site-name] show-pending-jobs` | |||
Esto va a mostrar en la consola lo siguiente en orden: | |||
- Cola | |||
- Tareas dentro de Cola | |||
Salida deseada: | |||
-----Pending Jobs----- | |||
### `bench purge-jobs` | |||
Esto va a remover todas las tareas programadas de todas las colas. |
@@ -0,0 +1 @@ | |||
{index} |
@@ -0,0 +1,11 @@ | |||
configuring-https | |||
lets-encrypt-ssl-setup | |||
diagnosing-the-scheduler | |||
how-to-change-host-name-from-localhost | |||
manual-setup | |||
setup-multitenancy | |||
setup-production | |||
setup-ssl | |||
stop-production-and-start-development | |||
updating | |||
setting-limits |
@@ -0,0 +1,101 @@ | |||
# Uso de Let's Encrypt para configurar HTTPS | |||
##Prerrequisitos | |||
1. Necesitas tener una configuración Multitenant | |||
2. Su sitio debería ser accesible a traves de un dominio válido | |||
3. Necesitas permisos de administrados en el servidor | |||
**Nota : Los certificados de Let's Encrypt expiran cada 3 meses** | |||
## Usando el comando bench | |||
Ejecutar: | |||
sudo -H bench setup lets-encrypt [site-name] | |||
Van a aparecer varios prompts, responde a todo. Este comando también va a agregar una entrada a crontab del usuario que esta intentando renovar el certificado cada mes. | |||
### Dominios personalizados | |||
Puedes configurar Let's Encrypt para [dominios personalizados](adding-custom-domains.html). Solo usando la opción `--custom-domain` | |||
sudo -H bench setup lets-encrypt [site-name] --custom-domain [custom-domain] | |||
### Renovar Certificados | |||
Para la renovación manual de certificados puedes usar: | |||
sudo bench renew-lets-encrypt | |||
<hr> | |||
## Método Manual | |||
### Descarga el script apropiado de Certbot-auto en el directorio /opt | |||
https://certbot.eff.org/ | |||
### Detener el servicio / proceso nginx | |||
$ sudo service nginx stop | |||
### Ejecutar Certbot | |||
$ ./opt/certbot-auto certonly --standalone | |||
Despues que letsencrypt se inicializa, vas a tener que llenar algunas informaciones. Los prompts pueden variar de si haz usado o no Let's Encrypt antes, pero vamos a guiarte en su primera vez. | |||
En el prompt, ingresar la dirección de correo eléctronico que será usada para notificaciones y recuperación de claves perdidas: | |||
 | |||
Debes aceptar el acuerdo de subscripción de Let's Encrypt, selecciona Agree: | |||
 | |||
Luego ingresa el nombre de su dominio(s). Nota que si deseas un simple certificado para trabajar con | |||
varios nombres de dominios (ejemplo: example.com y www.example.com), asegurate de incluirlos todos: | |||
 | |||
### Archivos de certificados | |||
Despues de obtener el certificado, va a tener los siguientes archivos PEM-encoded: | |||
* **cert.pem**: El certificado de su dominio | |||
* **chain.pem**: La cadena del certificado de Let's Encrypt | |||
* **fullchain.pem**: cert.pem y chain.pem combinados | |||
* **privkey.pem**: La clave privada de su certificado. | |||
Estos certificados estan almacenados en el directorio `/etc/letsencrypt/live/example.com` | |||
### Configurar los certificados para su site(s) | |||
Vaya al archivo site_config.json del site donde tiene erpnext | |||
$ cd frappe-bench/sites/{{nombre_sitio}} | |||
Agrega las siguientes lineas al archivo site_config.json | |||
"ssl_certificate": "/etc/letsencrypt/live/example.com/fullchain.pem", | |||
"ssl_certificate_key": "/etc/letsencrypt/live/example.com/privkey.pem" | |||
Regenerar las configuraciones de nginx | |||
$ bench setup nginx | |||
Reiniciar el servidor nginx | |||
$ sudo service nginx restart | |||
--- | |||
### Renovació Automática (experimental) | |||
Accede como root o como un usuario con privileges de administrador, ejecuta `crontab -e` y presiona enter: | |||
# renovar el certificado de letsencrypt todos los días primero de cada mes y recibe un email si el comando ha sido ejecutado | |||
MAILTO="mail@example.com" | |||
0 0 1-7 * * [ "$(date '+\%a')" = "Mon" ] && sudo service nginx stop && /opt/certbot-auto renew && sudo service nginx start |
@@ -0,0 +1,74 @@ | |||
Instalación Manual | |||
-------------- | |||
Prerrequisitos, | |||
* [Python 2.7](https://www.python.org/download/releases/2.7/) | |||
* [MariaDB](https://mariadb.org/) | |||
* [Redis](http://redis.io/topics/quickstart) | |||
* [WKHTMLtoPDF con QT parcheado](http://wkhtmltopdf.org/downloads.html) (Requerido para la generación de pdf) | |||
[Instalando los Prerrequisitos en OSX](https://github.com/frappe/bench/wiki/Installing-Bench-Pre-requisites-on-MacOSX) | |||
Instalar el bench como usuario normal, **no root** | |||
git clone https://github.com/frappe/bench bench-repo | |||
sudo pip install -e bench-repo | |||
Nota: Favor de no remover el directorio bench que el comando va a crear | |||
Migrando desde una instalación existente | |||
------------------------------------ | |||
Si deseas migrar desde ERPNext v3, sigue las siguientes instrucciones [aquí](https://github.com/frappe/bench/wiki/Migrating-from-ERPNext-version-3) | |||
Si deseas migrar de una versión vieja del bench, sigue las instrucciones [aquí](https://github.com/frappe/bench/wiki/Migrating-from-old-bench) | |||
Uso básico | |||
=========== | |||
* Crea un nuevo bench | |||
El comando init va a crear un directorio conteniendo el framework Frappe instalado. | |||
Va a ser configurado para copias de seguridad periódicas y actualizaciones automáticas una vez por día. | |||
bench init frappe-bench && cd frappe-bench | |||
* Agregar aplicaciones | |||
El comando get-app descarga e instala aplicaciones hechas en frappe. Ejemplos: | |||
- [erpnext](https://github.com/frappe/erpnext) | |||
- [erpnext_shopify](https://github.com/frappe/erpnext_shopify) | |||
- [paypal_integration](https://github.com/frappe/paypal_integration) | |||
bench get-app erpnext https://github.com/frappe/erpnext | |||
* Agregar Site | |||
Las aplicaciones Frappe son montadas en los Sites y por tanto tendras que crear por lo menos un site. | |||
El comando new-site te permite crearlos. | |||
bench new-site site1.local | |||
* Iniciar bench | |||
Para comenzar a utilizar el bench, usa el comando `bench start` | |||
bench start | |||
Para acceder a Frappe / ERPNext, abra su navegador favorito y escriba la ruta `localhost:8000` | |||
El usuario por defecto es "Administrator" y la contraseña es la que específicaste al momento de crear el nuevo site. | |||
Configurando ERPNext | |||
================== | |||
Para instalar ERPNext, ejecuta: | |||
``` | |||
bench install-app erpnext | |||
``` | |||
Ahora puedes usar `bench start` o [configurar el bench para uso en producción](setup-production.html) |
@@ -0,0 +1,39 @@ | |||
# Estableciendo límites para su sitio | |||
La versión 7 de Frappe ha agregado soporte para la configuración de límites y restricciones para su site. | |||
Estas restricciones están en el archivo `site_config.json` dentro de la carpeta del site. | |||
{ | |||
"db_name": "xxxxxxxxxx", | |||
"db_password": "xxxxxxxxxxxx", | |||
"limits": { | |||
"emails": 1500, | |||
"space": 0.157, | |||
"expiry": "2016-07-25", | |||
"users": 1 | |||
} | |||
} | |||
Puedes establecer un límite ejecutando: | |||
bench --site [nombre_sitio] set-limit [limite] [valor] | |||
Puedes establecer varios límites al mismo tiempo ejecutando: | |||
bench --site [nombre_sitio] set-limits --limit [limite] [valor] --limit [limite-2] [valor-2] | |||
Los límites que puedes configurar son: | |||
- **users** - Limita el número de usuarios por site. | |||
- **emails** - Limita el número de correos enviados por mes desde un site. | |||
- **space** - Limita el máximo número de espacio en GB que el site puede usar. | |||
- **email_group** - Limia el número máximo de miembros en un grupo de correos. | |||
- **expiry** - Fecha de expiración para el site. (YYYY-MM-DD en de comillas) | |||
Ejemplo: | |||
bench --site site1.local set-limit users 5 | |||
Puedes verificar el uso abriendo la página de "Usage Info" ubicada en el toolbar / AwesomeBar. Un límite solo va a mostrarse en la página si ha sido configurado. | |||
<img class="screenshot" alt="Doctype Saved" src="{{docs_base_url}}/assets/img/usage_info.png"> |
@@ -0,0 +1,57 @@ | |||
Asumiento que tiene su primer site corriendo y ha realizado los | |||
[pasos para producción](setup-production.html), esta sección explica como montar su segundo site (y más). | |||
Su primer site se configuró como el site por defecto de forma automática. Puedes cambiarlo ejecutando el comando, | |||
bench use nombre_site | |||
Multitenancy basada en puertos | |||
----------------------- | |||
Puedes crear un nuevo site y ponerlo a escuchar por otro puerto (mientras que el primero corre en el puerto 80) | |||
* Desactivar el multitenancy basada en DNS (una vez) | |||
`bench config dns_multitenant off` | |||
* Crea un nuevo site | |||
`bench new-site site2name` | |||
* Configura el puerto | |||
`bench set-nginx-port site2name 82` | |||
* Regenera las configuraciones de nginx | |||
`bench setup nginx` | |||
* Recarga el servicio de nginx | |||
`sudo service nginx reload` | |||
Multitenancy basada en DNS | |||
---------------------- | |||
Puedes nombrar sus sites como los los nombre de dominio que van a rederigirse a ellos. Así, todos los sites agregados al bench van a correr en el mismo puerto y van a ser automáticamente seleccionados basados en el nombre del host. | |||
Para convertir un site nuevo dentro de la multitenancy basada en DNS, realiza los siguientes pasos. | |||
* Desactivar el multitenancy basada en DNS (una vez) | |||
`bench config dns_multitenant on` | |||
* Crea un nuevo site | |||
`bench new-site site2name` | |||
* Regenera las configuraciones de nginx | |||
`bench setup nginx` | |||
* Recarga el servicio de nginx | |||
`sudo service nginx reload` |
@@ -0,0 +1,48 @@ | |||
Puedes configurar el bench para producción configurando dos parametros, Supervisor y nginx. Si quieres volver a ponerlo en desarrollo debes ver [estos comandos](https://github.com/frappe/bench/wiki/Stopping-Production-and-starting-Development) | |||
####Configuración para producción facíl | |||
Estos pasos son automátizados si ejecutas `sudo bench setup production` | |||
####Configuración manual para producción | |||
Supervisor | |||
---------- | |||
Supervisor se asegura de mantener el proceso que inició Frappe corriendo y lo reinicia en caso de cualquier inconveniente. | |||
Puedes generar la configuración necesaria para supervisor ejecutando el comando `bench setup supervisor`. | |||
La configuración va a estar disponible en la carpeta `config/supervisor.conf`. Luego puedes copiar/enlazar este archivo al directorio de configuración | |||
de supervisor y reiniciar el servicio para que tome efecto de los cambios realizados. | |||
Ejemplo, | |||
``` | |||
bench setup supervisor | |||
sudo ln -s `pwd`/config/supervisor.conf /etc/supervisor/conf.d/frappe-bench.conf | |||
``` | |||
Nota: Para CentOS 7, la extensión debería ser `ini`, por lo que el comando sería | |||
``` | |||
bench setup supervisor | |||
sudo ln -s `pwd`/config/supervisor.conf /etc/supervisor/conf.d/frappe-bench.ini #para CentOS 7 solamente | |||
``` | |||
El bench también necesita reiniciar el proceso manejado por supervisor cuando actualizar cualquier aplicación. | |||
Para automatizarlo, vas a tener que agregar el usuario a sudoers ejecutando `sudo bench setup sudoers $(whoami)`. | |||
Nginx | |||
----- | |||
Nginx es un servidor web y lo usamos para servir archivos estáticos y aponderar el resto de la | |||
peticiones a frappe. Puedes generar las configuraciones necesarias para nginx usando el comando `bench setup nginx`. | |||
La configuración va a estar almacenada en el archivo `config/nginx.conf`. Entonces puedes copiar/enlazar este archivo al directorio de | |||
configuración de nginx y reiniar el servicio para poder ver si se han aplicado los cambios. | |||
Ejemplo, | |||
``` | |||
bench setup nginx | |||
sudo ln -s `pwd`/config/nginx.conf /etc/nginx/conf.d/frappe-bench.conf | |||
``` | |||
Nota: Cuando reinicias nginx despues de cualquier cambio en la configuración, podría fallar si tienes otra configuración con el bloque server para el puerto 80 (En la mayoría de veces la página princial de nginx). Vas a tener que deshabilitar esta configuración. Las rutas más probables donde podemos encontrarlo son `/etc/nginx/conf.d/default.conf` y | |||
`/etc/nginx/conf.d/default`. |
@@ -0,0 +1 @@ | |||
{index} |
@@ -0,0 +1,2 @@ | |||
guides | |||
resources |
@@ -0,0 +1,29 @@ | |||
Servicios Externos | |||
----------------- | |||
* MariaDB (Base de datos) | |||
* Redis (Caché y background workers) | |||
* nginx (para producción) | |||
* supervisor (para producción) | |||
Procesos de Frappe | |||
---------------- | |||
* Servidor WSGI | |||
* El servidor WSGI es responsable de responder a las peticiones HTTP. | |||
En entornos de desarrollo (`bench serve` o `bench start`), El servidor WSGI Werkzeug es usado y en producción, | |||
se usa gunicorn (automáticamente configurado en supervisor) | |||
* Procesos de Redis Worker | |||
* Los procesos de Celery se encargan de ejecutar tareas en background en Frappe. | |||
Estos procesos son iniciados automáticamente cuando se ejecuta el comando `bench start` y | |||
para producción se configuran en las configuraciones de supervisor. | |||
* Procesos Scheduler | |||
* Los procesos del Scheduler programan la lista de tareas programadas en Frappe. | |||
Este proceso es iniciado automáticamente cuando se ejecuta el comando `bench start` y | |||
para producción se configuran en las configuraciones de supervisor. |
@@ -0,0 +1,90 @@ | |||
### Uso General | |||
* `bench --version` - Muestra la versión del bench | |||
* `bench src` - Muestra el directorio repo del bench | |||
* `bench --help` - Muestra todos los comandos y ayudas | |||
* `bench [command] --help` - Muestra la ayuda para un comando | |||
* `bench init [bench-name]` - Crea un nuevo bench (Ejecutar desde Home) | |||
* `bench --site [site-name] COMMAND` - Especificar un site para el comando | |||
* `bench update` - Buscar los últimos cambios de bench-repo y todas las aplicaciones, aplica parches, crea los JS y CSS, y realiza la migración. | |||
* `--pull` Hace un Pull a todas las aplicaciones en el bench | |||
* `--patch` Ejecuta las migraciones para todos los sites en el bench | |||
* `--build` Crea los JS y CSS para el bench | |||
* `--bench` Actualiza el bench | |||
* `--requirements` Actualiza los requerimientos | |||
* `--restart-supervisor` Reinicia los procesos de supervisor despues de actualizar | |||
* `--upgrade` Realiza migraciones mayores (Eg. ERPNext 6 -> 7) | |||
* `--no-backup` No crea una copia de respaldo antes de actualizar | |||
* `bench restart` Reinicia todos los servicios del bench | |||
* `bench backup` Copia de respaldo | |||
* `bench backup-all-sites` Copia de respaldo a todos los sites | |||
* `--with-files` Copia de respaldo a los sites con los archivos | |||
* `bench restore` Restaurar | |||
* `--with-private-files` Restaura un site con todos los archivos privados (Ruta al archivo .tar) | |||
* `--with-public-files` Restaura un site con todos los archivos públicos (Ruta al archivo .tar) | |||
* `bench migrate` Leerá los archivos JSON y realizará los cambios en la base de datos. | |||
###Configuración | |||
* `bench config` - Cambiar las configuraciones del bench | |||
* `auto_update [on/off]` Activa/Desactiva las actualizaciones automáticas para el bench | |||
* `dns_multitenant [on/off]` Activa/Desactiva DNS Multitenancy | |||
* `http_timeout` Establece un timeout para http | |||
* `restart_supervisor_on_update` Activa/Desactiva el reinicio automático de supervisor | |||
* `serve_default_site` Configurar nginx para que sirva el sitio predeterminado en... | |||
* `update_bench_on_update` Activa/Desactiva las actualizaciones en un bench corriendo | |||
* `bench setup` - Configurar componentes | |||
* `auto-update` Añade un cronjob para actualizaciones automática del bench | |||
* `backups ` Añade un cronjob para las copias de respaldo del bench | |||
* `config ` sobreescribe o crea config.json | |||
* `env ` Configurar un virtualenv para el bench | |||
* `nginx ` generar configuraciones para nginx | |||
* `procfile ` Configura el archivo Procfile para bench start | |||
* `production ` Configura el bench para producción | |||
* `redis ` genera las configuraciones para redis cache | |||
* `socketio ` Configura las dependencias de node para el servidor socketio | |||
* `sudoers ` Agrega comandos a la sudoers para su ejecución | |||
* `supervisor ` Genera las configuraciones para supervisor | |||
* `add-domain ` agrega un dominio personalizado para un site | |||
* `firewall ` configura un firewall y bloquea todos los puertos en excepción el 22, 80 y 443 | |||
* `ssh-port ` cambia el puerto por defecto para conexiones ssh | |||
###Desarrollo | |||
* `bench new-app [app-name]` Crea una nueva app | |||
* `bench get-app [repo-link]` - Descarga una app desde un repositorio git y la instala | |||
* `bench install-app [app-name]` Instala aplicaciones existentes | |||
* `bench remove-from-installed-apps [app-name]` Remueve aplicaciones de la liste de aplicaciones | |||
* `bench uninstall-app [app-name]` Elimina la aplicación y todo lo relaciones a esa aplicación (Bench necesita estar corriendo) | |||
* `bench remove-app [app-name]` Eliminar una aplicación completamente del bench | |||
* `bench --site [sitename] --force reinstall ` Reiniciar con una base de datos nueva (Atención: Va a borrar la base de datos anterior) | |||
* `bench new-site [sitename]` - Crea un nuevo site | |||
* `--db-name` Nombre de la base de datos | |||
* `--mariadb-root-username` Nombre de usuario de Root | |||
* `--mariadb-root-password` Contraseña del usuario Root | |||
* `--admin-password` Contraseña del usuario Administrator para un nuevo site | |||
* `--verbose` Verbose | |||
* `--force` Forzar la restauración si el site/base de datos existen. | |||
* `--source_sql` Inicializar una base de datos con un archivo SQL | |||
* `--install-app` Instalar una aplicación despues de haber instalado el bench | |||
* `bench use [site]` Configura el site por defecto | |||
* `bench drop-site` Elimina sites del disco y la base de datos completamente | |||
* `--root-login` | |||
* `--root-password` | |||
* `bench set-config [key] [value]` Agrega valores clave-valor al archivo de configuración del site | |||
* `bench console` Abre una consola de IPython en el virtualenv del bench | |||
* `bench execute` Ejecuta un método dentro de una aplicación | |||
* Eg : `bench execute frappe.utils.scheduler.enqueue_scheduler_events` | |||
* `bench mysql` Abre una consola SQL | |||
* `bench run-tests` Ejecuta las pruebas | |||
* `--app` Nombre de la aplicación | |||
* `--doctype` Especificar el DocType para cual correr las pruebas | |||
* `--test` Pruebas específicas | |||
* `--module` Ejecutar un módulo con pruebas en específico | |||
* `--profile` Ejecutar un Python profiler en las pruebas | |||
* `bench disable-production` Desactiva el entorno de producción | |||
###Programador | |||
* `bench enable-scheduler` - Habilita el Programador que ejecutará las tareas programadas | |||
* `bench doctor` - Obtener informaciones de diagnóstico sobre los background workers | |||
* `bench show-pending-jobs`- Obtener las tareas pendientes | |||
* `bench purge-jobs` - Eliminar todas las tareas pendientes |
@@ -0,0 +1,31 @@ | |||
`bench start` usa [honcho](http://honcho.readthedocs.org) para manejar múltiples procesos en **developer mode**. | |||
### Procesos | |||
Los diversos procesos que se necesitan para correr frappe son: | |||
1. `bench start` - El servidor web. | |||
4. `redis_cache` para cache (general) | |||
5. `redis_queue` para manejar las cosas de los background workers | |||
6. `redis_socketio` como un notificador de notificaciones para actualizaciones en tiempo real desde los background workers | |||
7. `web` para el servidor web de frappe. | |||
7. `socketio` para mensajes en tiempo real. | |||
3. `schedule` para disparar tareas periódicas | |||
3. `worker_*` redis workers para manejar trabajos aíncronos | |||
Opcionalmente, si estas desarrollando en frappe puedes agregar: | |||
`bench watch` para automáticamente construir la aplicación javascript desk. | |||
### Ejemplo | |||
redis_cache: redis-server config/redis_cache.conf | |||
redis_socketio: redis-server config/redis_socketio.conf | |||
redis_queue: redis-server config/redis_queue.conf | |||
web: bench serve --port 8000 | |||
socketio: /usr/bin/node apps/frappe/socketio.js | |||
watch: bench watch | |||
schedule: bench schedule | |||
worker_short: bench worker --queue short | |||
worker_long: bench worker --queue long | |||
worker_default: bench worker --queue default |
@@ -0,0 +1 @@ | |||
{index} |
@@ -0,0 +1,3 @@ | |||
background-services | |||
bench-commands-cheatsheet | |||
bench-procfile |