frappe / bench_manager Goto Github PK
View Code? Open in Web Editor NEWFrappe app for managing bench
License: Other
Frappe app for managing bench
License: Other
Hi frappe team,
I have installed Bench Manager App in my ERPNext website, I am using Production Image of ERPNext in VirtualBox.
When ever i try to run Bench Manager I am getting below error, and form fields are disabled, also site list is empty.
> Traceback (most recent call last):
> File "/home/frappe/frappe-bench/apps/frappe/frappe/desk/form/save.py", line 22, in savedocs
> doc.save()
> File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 256, in save
> return self._save(*args, **kwargs)
> File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 290, in _save
> self.run_before_save_methods()
> File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 859, in run_before_save_methods
> self.run_method("validate")
> File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 755, in run_method
> out = Document.hook(fn)(self, *args, **kwargs)
> File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1024, in composer
> return composed(self, method, *args, **kwargs)
> File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1007, in runner
> add_to_return_value(self, fn(self, *args, **kwargs))
> File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 749, in <lambda>
> fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
> File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 29, in validate
> sync_all(in_background=True)
> File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 223, in sync_all
> sync_sites()
> File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 63, in sync_sites
> site_dirs = update_site_list()
> File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 114, in update_site_list
> for root, dirs, files in os.walk(".", topdown=True):
> File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 294, in walk
> for x in walk(new_path, topdown, onerror, followlinks):
> File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 294, in walk
> for x in walk(new_path, topdown, onerror, followlinks):
> File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 294, in walk
> for x in walk(new_path, topdown, onerror, followlinks):
> File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 284, in walk
> if isdir(join(top, name)):
> File "/home/frappe/frappe-bench/env/lib/python2.7/posixpath.py", line 80, in join
> path += '/' + b
> UnicodeDecodeError: 'ascii' codec can't decode byte 0xd8 in position 1: ordinal not in range(128)
>
> Traceback (most recent call last):
> File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 62, in application
> response = frappe.handler.handle()
> File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 22, in handle
> data = execute_cmd(cmd)
> File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 53, in execute_cmd
> return frappe.call(method, **frappe.form_dict)
> File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 939, in call
> return fn(*args, **newargs)
> File "/home/frappe/frappe-bench/apps/frappe/frappe/desk/form/save.py", line 22, in savedocs
> doc.save()
> File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 256, in save
> return self._save(*args, **kwargs)
> File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 290, in _save
> self.run_before_save_methods()
> File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 859, in run_before_save_methods
> self.run_method("validate")
> File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 755, in run_method
> out = Document.hook(fn)(self, *args, **kwargs)
> File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1024, in composer
> return composed(self, method, *args, **kwargs)
> File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1007, in runner
> add_to_return_value(self, fn(self, *args, **kwargs))
> File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 749, in <lambda>
> fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
> File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 29, in validate
> sync_all(in_background=True)
> File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 223, in sync_all
> sync_sites()
> File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 63, in sync_sites
> site_dirs = update_site_list()
> File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 114, in update_site_list
> for root, dirs, files in os.walk(".", topdown=True):
> File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 294, in walk
> for x in walk(new_path, topdown, onerror, followlinks):
> File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 294, in walk
> for x in walk(new_path, topdown, onerror, followlinks):
> File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 294, in walk
> for x in walk(new_path, topdown, onerror, followlinks):
> File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 284, in walk
> if isdir(join(top, name)):
> File "/home/frappe/frappe-bench/env/lib/python2.7/posixpath.py", line 80, in join
> path += '/' + b
> UnicodeDecodeError: 'ascii' codec can't decode byte 0xd8 in position 1: ordinal not in range(128)
i need bench manager in my apps, how to install bench manager in production env
I noticed that new created sites does not reach and we can not access them
I think we need to build Nginx rules
I get this error when I open Bench Settings:
Traceback (most recent call last): File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 62, in application response = frappe.handler.handle() File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 22, in handle data = execute_cmd(cmd) File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 53, in execute_cmd return frappe.call(method, **frappe.form_dict) File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 939, in call return fn(*args, **newargs) File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 223, in sync_all sync_sites() File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 63, in sync_sites site_dirs = update_site_list() File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 114, in update_site_list for root, dirs, files in os.walk(".", topdown=True): File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 299, in walk for x in walk(new_path, topdown, onerror, followlinks): File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 299, in walk for x in walk(new_path, topdown, onerror, followlinks): File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 299, in walk for x in walk(new_path, topdown, onerror, followlinks): File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 289, in walk if isdir(join(top, name)): File "/home/frappe/frappe-bench/env/lib/python2.7/genericpath.py", line 46, in isdir st = os.stat(s) UnicodeEncodeError: 'ascii' codec can't encode characters in position 26-30: ordinal not in range(128)
Hi every body
i installed bench manager after installing frappe /erpnext
and did the steps of installing .
as in this guid
https://frappe.io/bench-manager
the installation of bench manger is in the frappe-bench folder
after that i tried to access my localhos:8080 as usual which befor the installing bench manager take me to the home of ERPNEXT page login.
but now localhos:8080
take me to this thing in the page
Updating
Your system is being updated. Please refresh again after a few moments
Status: 503
so please guid me how to resolve such issue
For example, in the bench repo, there is already a function to update the site config : https://github.com/frappe/bench/blob/master/bench/config/common_site_config.py#L43
And you can use that instead of writing your own function : https://github.com/frappe/bench_manager/blob/develop/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py#L28
@revant Hello! I have an issue where I can't seem to see the Bench Manager Desk, all I can see is the Frappe module. I'm using Ubuntu 20.4 on a VM running on MAC M1. I can see the Bench Manager App is installed, my Frappe Framework it's v14.x.x-develop.
I hope you can help me, thanks.
I haven't tried out the app, however, it seems that the app allows you to modify the common_site_config.json
. However, the config is actually used to generate other config files when the respective bench setup
command is run.
For example, the key gunicorn_workers
, is used to generate the supervisor config and accordingly set the right value for the number of gunicorn workers.
shell = True
2017-07-01 10:00:08-test.erpnext.dev
so backups can be sorted in the listIn SPACE USAGE section, it should indicate the unit (e.g. kilobyte KB, Megabyte MB, Gegabyte GB β¦
a plane to do batch actions like backup, update,β¦ etc on multiple sites in one click
common_site_config.json
add bench_manage_port
, bench_manager_site
Traceback (most recent call last):
File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/app.py", line 57, in application
response = frappe.handler.handle()
File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 22, in handle
data = execute_cmd(cmd)
File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 53, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 923, in call
return fn(*args, **newargs)
File "/Users/rushabh/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 203, in sync_all
sync_apps()
File "/Users/rushabh/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 76, in sync_apps
doc.insert()
File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 192, in insert
self.run_before_save_methods()
File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 772, in run_before_save_methods
self.run_method("validate")
File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 666, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 887, in composer
return composed(self, method, *args, **kwargs)
File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 870, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 660, in <lambda>
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File "/Users/rushabh/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/app/app.py", line 24, in validate
self.update_app_details()
File "/Users/rushabh/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/app/app.py", line 90, in update_app_details
if 'Version:' in data:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 13: ordinal not in range(128)
bench restart
to restart the supervisor processbench set-nginx-port
for the sitebench disable-production
Creating a new site with installing ERPNext option will throw an error in the ui but will create the site eventually!
error: "subprocess.CalledProcessError: Command '['bench', '--site', 'test.local', 'list-apps']' returned non-zero exit status 1."
Note: My console output is not working and maybe that's the reason
If this repo is not maintained, please archive it
Example :
Use os.path.join()
to create paths.
Bench Manager in Version 12 is not properly setup to fit in to the new Desk.
We were testing this feature and it is broken for version 13
git fetch
a particular branch from mastercheckout
to that particular branchupstream
develop
in Site, add a button "Migrate" calls bench --site sitename migrate
request database name form, so we can add custom db name for new site
Bench Manager is Awesome !! π
Just briefly had overview, and noted some minor fixes, as follows:
Example: I have a site named, subdomain.domain.com and I can access website without ports, exactly because I already set up multitenancy earlier. Still, at Bench Manager, it will add ports to url, when it opens up in new tab. It will try to pull subdomain.domain.com:8000, while it will be not fetched and hence, we'll get timeout "This site canβt be reached".
Either this section comes with default settings or we have to manage this accordingly? Also, multitenancy will affect these default settings or not? Just not sure, about the question but still raising for knowledge.
[Feature Request] Option to enable or disable DNS based Multitenancy. Might, based on enable or disable option, we can resolve issue reported in option 1("View site with default ports")
Download to desktop Backup with "Site Backup" feature.
Define site limits like space and users
Whenever you go to Bench Settings page, run "Sync". Also store the last sync timestamp.
When you go to Bench Settings page again, check if "Sync" was run in the last 10 minutes, if not run "Sync" else dont
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.