How to run Laravel queue commands on shared hosting? - laravel-5

I have made a notifications system in my laravel project.
in development mode it works perfectly, but on shared hosting it doesn't because i couldn't run queue:listen to proccess the queued notifications.
Right now i use 000webhost free account to test my application and i could not find a way to run "php artisan queue:listen", i tried to create a "cron job" but it seems i don't know how to implement it because the way to create cron job on 000webhost is slightly different from the others, samething with laravel taks scheduling.
I use Pusher-js and laravel-echo to broadcast the notifications.
I read a lot of topics but could not find a clear solution.
Thanks.

You need terminal access or some means of pushing a supervisor configuration or similar to the server, as well as restarting the service. I don't think you're going to have any luck on the free account though.
4) Users can access to server terminal (linux environment) via SSH,
which is not allowed for free accounts. If you upgrade to a premium
account, it is possible.
https://www.000webhost.com/forum/t/basic-question-mysql-with-php/28028/3

Related

Managing mulitple apps/ecosystem.config.js files with pm2

I am building a project which will live on a single server that will contain multiple services running side by side. I am using ansible to provision the server to automate setting everything up.
Services running:
Headless CMS
Database
Other nodejs API etc...
If in the future I would need to scale this project up, I would then want to separate the above services out onto their own servers which has led me to creating separate ansible roles for each of the above services.
My Question:
I am having real difficulty in working with pm2 to get my 2 nodejs apps running with each other.
I know that I can have a single ecosystem.config.js file containing multiple apps which would fit my current architecture (everything hosted on a single server). However this would be a pain later down the road if I were to switch one of my ansible roles to its own server.
Is there a way to deploy to production my nodejs related apps using pm2 management but in a way where they have their own configuration files and systemd service which I can define in ansible?
If I have multiple ecosystem.config.js files for each nodejs app, can pm2 mangage these with the default systemd service it offers when running:
pm2 startup
Or should I just write my own separate systemd services which I could then manually install in each ansible role through templates?
I'm really lost here and have spent so much time trying to work out the best approach to take so any help would be great!!
After doing some more research on this matter I came across this super helpful thread on pm2's github. Basically it seems that for automation using systemd services is the way to go and not bother with pm2's startup (which does create a systemd service, but more complex to manage when using automation software such as ansible.)
I strongly recommend you read it if you stumble accross this question!
https://github.com/Unitech/pm2/issues/2914

Laravel Monitoring Tool

I am new to Laravel and keep on learning its capability and I need some assistance on the website I am working on... So, I have a website that is somewhat having a timeout problem when connecting to a 3rd party app during a certain period... It could be an issue with this 3rd party having a maintenance/ downtime, but is there any way I can check/ monitor the Laravel site itself for scheduled tasks running during those affected time?
Or could it also be monitored using Apache logs ?
I tried searching online but it appears I need to install some cron monitoring tools.
Laravel has Telescope, a very good debug tool. You can see scheduled tasks, requests, events etc ...

Trying to host a laravel 5.7 app in AWS EC2

So...i'm pretty new in hosting websites and horst yet with hosting in cloud services. I'm having a pretty bad time trying to host a Laravel 5.7 application in AWS and i really need some help/direction.
My situation is like this:
I have a normal Laravel 5.7 app that uses MySQL database and Laravel Queue(database type).
I need a process to constantly listen/monitor the job queue and execute them.
The thing is, i just lerned that you can't use normal hosting to do this(listen the job queue) and that i need a VPS service.
In my searches i saw that AWS have a 1 year free trial and i thought it was worth to take a look. The thing is, i started from EC2 and got as far as installing apache, mysql, php, git, etc. I made a clone of my project to the /etc/www/html and install composer dependencies... but i'm not quite understaing what to do for the app run, and in looking for tutorials everything is always differet and nothing ever works. I dont know what else to do, this is my first contact with cloud services.
That said, my question is what can i do to host my Laravel 5.7 app in amazon, and is it really the better solution for my problem ?
I am currently doing what you're trying to do. The configuration is outlined here. You will need to install supervisord. You didn't leave enough information about what type of instance you're running, so I can't get you more complete instructions, but if you follow these steps, your queue should run as expected.

Heroku: Testing IronMQ Messaging With Worker Locally Using Foreman

I am new to Heroku and I am trying to bootstrap a local development environment. Using Foreman, or another tool, can someone please point me to docs that illustrate sending and consuming a message with a worker. Key being setting up the MQ and the worker consuming the message configured locally. Thanks!
IronMQ (and IronWorker) are both cloud services and currently do not have local install capability. It's fairly easy to interact with the API from your local machine though including pushing messages, getting them, etc.
If you plan on using Push Queues, do keep in mind that in order to "push" back to your localhost you'll need to setup something like localtunner or ngrok. Here is some information on that: http://dev.iron.io/mq/reference/push_queues/#testing_on_localhost
Please feel free to hit us at support#iron.io or live chat: get.iron.io/chat
Chad

How do you run utility services on Heroku?

Heroku is fantastic for prototyping ideas and running simple web services, I often use it to run Python web services like Flask and Django and try out ideas. However I've always struggled to understand how you can use the infrastricture to run those amazingly powerful support or utility services every startup needs in its stack. 4 exmaples of services I can't live without and would recommend to any startup.
Jenkins
Statsd
Graphite
Graylog
How would you run these on Heroku? Would it be best just getting dedicated boxes (Rackspace, e.t.c) with these support services installed.
Has anyone one run utility deamons (services) on Heroku?
There are two basic options. The first is to find or create a Heroku addon to accomplish the task. For example, there are many hosted logging solutions you can use instead of Graylog; Rails on Fire or Travis can be used instead of Jenkins. If an appropriate addon doesn't exist, you can effectively make your own by just running the service on an AWS EC2 instance.
The other alternative is to push the service into being a 12factor application so that it can run on Heroku as well. For example, you could stub out whisper's filesystem calls so that they store in a backing service instead. This is often pretty painful and brittle, though, unless you can get your changes accepted by the upstream maintainers.
you could also use another free service in conjunction with it. OpenShift has a lot of Java related build services and tools that can be added.
I am using a mix of heroku, openshift, mongolab and my own web hosting. Throw in dropbox and box for some space...

Resources