Execute a cron job every Sunday
Hello, I need to execute a cron job for my app which will modify something in the DB, I didn't find any examples or documentation regarding this.
I am using Next.js, Postgress and DrizzleORM
Any ideas?
28 Replies
Project ID:
N/A
N/A
do you already have a script to do your desired task?
Do I need to create a new project and deploy it? Can I use my existing Next.js app and use a file as a cron-job?
before we continue, please read this docs page so you can get your terminology correct.
https://docs.railway.app/overview/the-basics
If I understand correctly, I need to add a new service which will be the cron-job, right?
correct, there you go!
So I can create a new repo, add something like node-cron and deploy this service?
not quite, you would want to use railways cron scheduler
you can just have a script in your current repo to do your task, and have the cron service run it
Is this the cron service you are talking about? I don't see where to add my script
To point to my file which contains the script
correct, and you would be looking for the start command, the start command is how you set the command that starts the script, for example
node task.js
this one?
that's it
of course as you mentioned, you would want to set this up on a duplicate service
This is what I dont understand, this new service. Is there a template or something I need to use?
nope, right click duplicate, then set your cron schedule, and then set the start command to run whatever script you want ran on a schedule
Alright, going to test this method. Thanks a lot for your help and patience 😆
Btw, why it must be duplicated?
because you need two services, one service for nextjs, another service to run the cron job
oh okay
Makes sense
a service can't do two different things
one service for one thing, hence the need for two
Okay I think I got it now. Thanks!
do you have a script that does your task?
or have you yet to write that code?
Need to write that code
Don't have it now
okay then that's the next thing you need to do before setting up cron on railway
Yeah yeah
Lets say I have this script in a file
src/cron/script.js
Can I acces this in the start command like so? node src/cron/script.js
correct
Alright
Perfect