Search code examples
phplaravel-5.5

Running a laravel cron job (locally, to test) using Task Scheduler in Windows 10


I want to run a laravel cron job in order to run a command on windows 10 using task scheduler, I tried to create a basic task in scheduler but it shows running but data doesnt add in db. When I run "php artisan schedule:run" it works perfectly. I am using Laravel and Homestead.

It shows this (see the pic please) but nothing happens then

I have adding these two lines while creating the task in scheduler

C:\xampp\php\php.exe (why do we have to add this when I don't even use xampp anymore, so I think this is the part which is giving issues?????)

C:\projects\project-name\artisan schedule:run

I would really appreciate, if someone could guide me through this, thanks.


Solution

  • Update your task scheduler command to this:

    C:\xampp\php\php.exe C:\projects\project-name\artisan schedule:run
    

    C:\xampp\php\php.exe does not mean using xampp, we're just using php here which is coincidentally found inside your xampp folder, because we need the executable php to run the file artisan with the parameter schedule:run which is found in C:\projects\project-name\

    You can add an environment variable for your executable php so you could just write the command as php C:\path\to\artisan schedule:run.

    Also, try to see the logs of task scheduler, so you can see what it tried to do.

    As per your issue. Yes, C:\xampp\php\php.exe causes an issue. Try typing in your cmd that command. What happens? It's just paused there. That's also what's happening in your scheduled task.