kosyanmedia / ereb Goto Github PK
View Code? Open in Web Editor NEWCrontab for the WEB
Crontab for the WEB
It's good to know when task was created and when was it last updated.
Restart task on failure N-times
When I create a new task, save it, and go create another task - I see the last task's info. That's a bug.
What the hell is that, excuse me? If it doesn't mean that my task failed, then please don't bother my slack channel!
If the task only contains 'bash my_bash.sh' then show content of my_bash.sh on the task list page.
On task list page show the average running time for every task.
Click on head's elements of the table in /task_list page shows me sorted tasks by chosen parameters
I only see 20 last run results. Add the ability to show more than that.
[E 161031 13:31:18 web:1524] Uncaught exception GET /status/recent_failed_tasks (127.0.0.1)
HTTPServerRequest(protocol='http', host='127.0.0.1:8888', method='GET', uri='/status/recent_failed_tasks', version='HTTP/1.1', remote_ip='127.0.0.1', headers={'Connection': 'keep-alive', 'X-Requested-With': 'XMLHttpRequest', 'Accept': '/', 'Accept-Language': 'en-US,en;q=0.8,ru;q=0.6,sk;q=0.4', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36', 'Referer': 'http://127.0.0.1:8888/', 'Accept-Encoding': 'gzip, deflate, sdch', 'Host': '127.0.0.1:8888'})
Traceback (most recent call last):
File "/Users/romansalin/.virtualenvs/ereb/lib/python3.5/site-packages/tornado/web.py", line 1443, in _execute
result = method(*self.path_args, **self.path_kwargs)
File "ereb.py", line 135, in get
recent_tasks = self.task_controller.get_recent_history(100)
AttributeError: 'TaskController' object has no attribute 'get_recent_history'
If you follow readme, you get nothing: running webpack-dev-server
will raise error like "webpack-dev-server command is not found", then just webpack
will complain that it doesn't have all the required modules, even if I do npm install
beforehand.
So, please, explain how to install and get everything to work to all the collaborators willing to work on both front/backend.
It would be very nice to have a page where you can see only failed tasks, with ability to expand the failure message.
Нужно отсылать уведомления, когда ереб пытается запустить ещё не отработавшую таску. Например когда есть скрипт, который должен отрабатывать за ничтожно короткое время, и для него настроен запуск каждые 5 минут, — нужно иметь возможность получать уведомления, когда данные скрипт не успевает отработать за отведённое время.
Задача сродни тому, что недавно сделал Тимур, но скорее нацелена на отслеживание деградации. На примере хотеллука: у нас есть таска, которая изначально отрабатывала примерно 10 секунд, мы сделали ей расписание на запуск каждые 5 минут, но спустя 2 месяца после её работа занимала уже около 1 часа, а мы об этом даже не догадывались.
Идеально было бы получать уведомление в чатик после N
неудачных попыток запуска, где эта цифра конфигурировалась бы для каждой задачи индивидуально.
Right now it is too complicated to install ereb as a system service. Not everyone choses to use monit, and ereb "as is" is not starting after system reboot. We can still put a line into crontab, but that's not a true way to run a system service like ereb, which essentially is a substitute for cron.
If possible, please make ereb a Debian package or at least provide a concise tutorial on how to setup ereb to properly start after a reboot.
something like
crontab -l | python3 crontab_converter.py --output_dir=/tmp/new_tasks
Show "ereb" time in header. Would be a handy feature, because sometimes local time and server time is different and it confuses the user.
bundle.js:381 Uncaught SyntaxError: Invalid regular expression: /[a-zA-ZР°-СЏРђ-СЏ]+[*]?/: Range out of order in character class
If you switch to English language everything will be ok.
If you have 200 tasks, it's 200 table rows but only 20x10 grid cells which can really fit on one screen. Then you can make various switches to switch between what's written on a grid cell: average time, number of successive successful runs, other metrics
I should be able to (besides global) set local notification settings for a specific task. For instance, I have a bunch of critical tasks which in case of failure should notify me via slack. And I have a task of zero importance which is ran every minute and fails periodically (it is considered normal for that task).
Is it possible to show a file content on the task page even if it's not *.sh file?
For instance, for "/usr/bin/python /var/www/mydbr/mobile/update_issued_markers.py" command the content of "/var/www/mydbr/mobile/update_issued_markers.py" file should be shown.
bundle.js:370 Uncaught TypeError: Cannot read property 'className' of null
Необходим функционал убивания таски (kill -9)
Допустим что то у нас долго выполняeтся и уже не сил терпеть.
Refactor ereb-wi: add templates and more
or maybe any other database
Добавить в сообщение об ошибке первые N строк из stderr
If I create a task with a name like "amadeus airlines meta" it will not allow me to open and modify it. Bug, mista!
To reproduce, create a task with the following cmd:
/bin/bash -c "export PATH=/usr/local/bin:$PATH && cd /home/aviasales/fuzzy/current && python3 utils/fetch/amadeus_airlines.py --airlines=`python3 utils/fetch/amadeus_iatas.py --endpoint=master` | python3 utils/check_json.py /home/aviasales/fuzzy/shared/tracked_configs/amadeus_airlines_master_extender_store_db.json"
and save it. Then open it and you'll see that it only shows text until first double quote.
real time task run log
When you have to switch back to tasks list page all the time it's really annoying!
Use case: John disabled a task, few weeks later Peter wants to know why John did it.
When I install ereb via pip3, I don't want to edit any code to enable Slack notifications. Maybe we should make some "Settings" page where one could enter Slack token and setup all notification-related stuff simply and easily.
This would be a very useful feature!
Task grouping allows to organize numerous tasks into descriptive groups. Group should have a name, description, and some kind of overall statistics. For instance, we can group all 3-day statistic fetchers into a group "3-day fetchers" and see how many fetchers are always failing, how many failed just last time, and some statistical info like average running time etc.
shell_script_content
field should not be saved in task_config.json
Sometimes it's difficult to determine hostname via hostname
command.
Should be an explicit parameter like python3 ereb.py --notification_hostname=blabla.com
It seems like ereb is using only 1 thread, and when that single thread is busy with running tasks, it stops responding to web interface requests. The tasks are running, but the web interface is not responding.
Add the ability to set the maximum time of running task, because sometimes they are frozen for days.
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.