Open Potomac54 opened 5 years ago
Thats awesome @Potomac54, the error occurs because supervisor normally need an service to be running, and the exit of ojs-pre-start its not a running process and i never found and work around. Can you please make a PR with that?
Or i will integrate this as soon as i'm possible.
Thanks
Can you tell me how can I make pull request in your github ?
Do I need to be a member of your github ? I tried to clone your github (php7-test branch), and then make a pull with my modifications, it doesn't accept my credentials
$ git push
Username for 'https://github.com': potomac
Password for 'https://potomac@github.com':
remote: Permission to lucasdiedrich/ojs.git denied to Potomac.
fatal: unable to access 'https://github.com/lucasdiedrich/ojs.git/': The requested URL returned error: 403
then I tried to use the "pull request" feature of your github, but not sure to understand how it works
In short: 1) fork lucas repo. 2) "git clone" your forked repo to your local computer. 3) Make your chages. 4) "git commit" to your local repo. 5) "git push" to your forked repo. 6) Visit github and the tool will ask you to create a PR with your changes. 7) Delete your fork and local repo.
Here you have github's howto: https://help.github.com/en/articles/creating-a-pull-request
@marcbria @lucasdiedrich
Ok I forked lucas repo, I made the change in the "php7-test" branch, and I made a pull request : https://github.com/lucasdiedrich/ojs/pull/31
I notice a bug in my pull request, ojs-pre-start is not started when startsecs=0,
so the solution is to set this option to 1, like this :
[program:checkstart] command=/usr/local/bin/ojs-pre-start startsecs=1 exitcodes=0
@Potomac thanks for your help, unfortunetly your second PR included breaking code, i mentioned that over the PR, thanks.
@lucasdiedrich @marcbria : I fixed the wrong path in a new commit,
for the supervisor problem my fix doesn't really work, sometimes I get the message "fatal state", I think the main problem is that supervisord is designed to run daemons, not really simple bash scripts,
one solution would be to start ojs-pre-start with an init system like systemd, alpine linux uses a different init software, openRC : https://wiki.alpinelinux.org/wiki/Alpine_Linux_Init_System
another solution may be to use a cron script, with settings to run once ojs-pre-start script
@Potomac thats exactly the problem, supervisor is designed to run daemons, using alpine init system is the best option, as soon as possible going to look into this.
@lucasdiedrich @marcbria
It seems that supervisord is not correctly configured for running ojs-pre-start script, in the console I can see these 2 errors messages :
one solution is to use the options "startsecs" and "exitcodes" in /etc/supervisord.conf
http://supervisord.org/configuration.html
after these modifications the new output of supervisord about checkstart process, no errors like "fatal state" :