|
Как возобновить работу job-а ?
|
|||
---|---|---|---|
#18+
Есть job, который запускается на сервере раз в 5 минут. Все бы ничего, но стабильно раз-два в сутки он падает (как правило ночью). Как сделать так, чтобы автоматически возобновлять job после очередного "падения" ? (возможно кто-то сталкивался) ----------------------------------------------- А мы тут плюшками балуемся... Аленочка тм ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2012, 09:22 |
|
Как возобновить работу job-а ?
|
|||
---|---|---|---|
#18+
можно запустить процесс который работает паралелльно и он более стабилен, и он проверяет состояние процесса сделать это просто $d(^$j(job)) скажет работает процесс или нет, если же нет можно запустить снова думаю это единственный способ ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2012, 09:50 |
|
Как возобновить работу job-а ?
|
|||
---|---|---|---|
#18+
А почему падает? надо бы разобраться. А вообще, DAiMor прав, только я бы через блокировки делал. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2012, 11:12 |
|
Как возобновить работу job-а ?
|
|||
---|---|---|---|
#18+
Можно ещё запланировать задачу в Менеджере задач с запуском каждые 5 минут. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2012, 11:16 |
|
Как возобновить работу job-а ?
|
|||
---|---|---|---|
#18+
В Linux решается просто Создаем скрипт типа #!/bin/sh csession cache -U "область" ^моя программа В cron прописываем его запуск Поменьше доверяйте Cache различные системные вещи. Прикручивайте к нему системные "костыли" операционной системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2012, 14:37 |
|
Как возобновить работу job-а ?
|
|||
---|---|---|---|
#18+
Alexey MaslovМожно ещё запланировать задачу в Менеджере задач с запуском каждые 5 минут. хм :-) она так и запланирована, именно через Менеджер задач просто начиная с 5.1 версии "If a running task encounters any kind of error, it is suspended" ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2012, 05:23 |
|
Как возобновить работу job-а ?
|
|||
---|---|---|---|
#18+
Аленочка, так ведь в истории задач пишется, почему задача заблокировалась. Если этого мало, можно собрать информацию об ошибке своим перехватчиком, вызывая из него BACK^%ETN. Конечно, можно написать задачу-"супервизор", которая будет автоматически разблокировать вашу задачу, но так вы никогда не решите проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2012, 10:27 |
|
Как возобновить работу job-а ?
|
|||
---|---|---|---|
#18+
если процесс не завершается не неожиданно, и можно попробовать отловить ошибку, то нужно бы обвешать его отловами ошибок и завершать процесс корректно, зачиащая стек ошибок, ну и разумеется их залогировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2012, 10:50 |
|
Как возобновить работу job-а ?
|
|||
---|---|---|---|
#18+
DAiMor, Вот этим вы, работяги, от нас - ленивых, и отличаетесь... Я бы не отлавливал ошибку (вот еще время и калории тратить), а просто вместо запуска некой task в менеджере задач запустил бы к.л. taskrunner, из которого бы уже JOBом запускал нужный мне task и неважно, как он там завершился... ну раз в сутки будет глючить. На сотни запусков один сбой - вообще не проблема. Думаю, что это - самый дешевый и низкокалорийный способ решить проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2012, 14:44 |
|
Как возобновить работу job-а ?
|
|||
---|---|---|---|
#18+
kolesov, Ну с ошибками как то некомфортно, тем более иногда бывают задачи когда наличие ошибок может быть критичной проблемой. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2012, 15:12 |
|
Как возобновить работу job-а ?
|
|||
---|---|---|---|
#18+
У нас все системные задачи из менеджера внутри обернуты в try{}catch{} и по завершении, есть ошибки или нет возвращают $$$OK, а в случае ошибки пишут в лог, из которого и узнаем что за ошибка ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2012, 09:13 |
|
Как возобновить работу job-а ?
|
|||
---|---|---|---|
#18+
D_De1mos, интересная идея. Но у менеджера задач есть полезная возможность: уведомлять по почте об успешном (и не очень) завершении задачи. Вы наверное ею просто не пользуетесь? т.к. в вашем случае тексты сообщений в обоих случаях будут неотличимы. Можно, конечно, при желании и собственный механизм уведомлений прикрутить... Мне приходилось в разных ситуациях использовать и менеджер Cache, и crond (Linux), и at (Windows). К менеджеру Cache нет претензий по надежности (он существует уже почти 10 лет), и у него есть дополнительная возможность, которая отсутствует у других планировщиков: запуск задачи (e.g. 1001) по условию завершения некоторой другой задачи (e.g. 1000). Таким образом, задачи можно связать в цепочку, что бывает удобно. Жаль, что запуск задачи 1001 возможен только в случае успеха задачи 1000, в случае ошибки ничего запущено не будет. Да и настройка "блокировать ли задачу в случае ошибки" не помешала бы. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2012, 13:53 |
|
|
start [/forum/topic.php?fid=39&fpage=33&tid=1557394]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 151ms |
0 / 0 |