HACKER Q&A
📣 heywhatupboys

What is the cheapest, easiest way to host a cronjob in 2022?


I thought this could start a good debate on the subject. Myself I have had to make a short running web-scraping job that, given a change in the site, sends a notifying email. This running once an hour.

It is 2022, so I had thought it would be tremendously easy and cheap, but it seems no solution is easily implemented.


  👤 johnmoberg Accepted Answer ✓
You should check out Modal! Does much more than just cronjobs, but super easy and cheap: https://modal.com/docs/guide/cron. They have an example with a simple web scraper as well: https://modal.com/docs/guide/web-scraper

From their pricing example:

> You schedule a job to run once an hour for 15 seconds. This job uses 50% of one CPU core and 256 MiB of memory. This job will cost $0.016/day for the CPU, and $0.001/day for the memory, adding up to $0.017/day, or $0.51/month.


👤 hbrn
Most folks here are focusing on the scheduling part, but change detection means you need some way to persist state (or have a long running process that keeps state in memory).

While you could do FaaS (e.g. AWS Lambda) + another service for state (e.g. S3/RDS/EFS), that seems like overkill.

Even today I would still do it the old way: store state in a filesystem (maybe SQLite if you have more complex needs), and configure a plain old cronjob on any of the servers you have access to.

Maybe put it in docker/dockerhub to make it easier to run.

Surprisingly it is an interesting question. You have a very simple task, but ideally you want the solution to include: running environment (let's say a container), scheduler, persistent state, monitoring (you want to know when it is down). Not to mention deployment.

There are solutions for each of those, but given the simplicity it would be nice to have a lightweight solution that includes all of that with minimal configuration. I doubt it exists.

I.e. you can do all of that on AWS, but I can't help but wonder if the infrastructure setup is going to be more complicated than your actual scraper.

Edit: a good way to think about it is: imagine that a person just learned how to scrape websites, they wrote a script that works locally. How much do they need to learn to move it to the cloud?

If your answer is: ok, so you just need to create an AWS account, dockerize your script, put it in a Lambda, create RDS instance, trigger your Lambda through EventBridge and setup CloudWatch... then there's something wrong with you. There must be a better way to reliably run a fucking 10 line script in the cloud.

There's been many times over the years when I wanted to write a simple scraper that does exactly what author describes and what stopped me is the amount of infrastructure bullshit I would have to deal with.


👤 spiffytech
Fly.io's Machines support cron jobs. You just hand them a Dockerfile and a schedule, and you'll be within their free tier.

https://fly.io/docs/machines/working-with-machines/#create-a...

See the `schedule` parameter.


👤 james2doyle
I feel like maybe this problem was "solution first". A cronjob is a solution. For example, Supabase supports cronjobs, but it can't be used to take screenshots.

This might be a non-answer, but if you just want "scheduled notifications of a website change", then you can use something completely purpose built for that. There is a Github action that does exactly this: https://github.com/yasoob/github-action-scraper-tutorial/blo...

This might also be a non-answer, but I've found myself using Integromat/Make or Zapier more and more for this type of work. It allows me to whip things up quickly and it can actually be approachable by non-technical people.


👤 hackermeows
If you are comfortable using AWS , You could us AWS Batch (free) with Spot Fargate jobs with Cloudwatch cron as the trigger . You only pay for the vcpu hours your job consumes https://aws.amazon.com/fargate/pricing/ , it’s a set it up once and forget it model.

You could use lambda if your runtime is expected to always be less than 15 minutes Batch fargate jobs documentation - https://docs.aws.amazon.com/batch/latest/userguide/fargate.h... Cloud watch cron documentation

https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/S...

https://aws.amazon.com/about-aws/whats-new/2018/03/aws-batch...

Everything can be deployed as a simple cdk app once you have your code ready in a docker repository somewhere . There are no servers to maintain and no ongoing maintenance will be necessary


👤 65
I use Serverless with Lambda. It's even a template in Serverless, so with the CLI you just type `serverless` and select the Node.js/Python Scheduled Task template and everything is set up for you.

I do a lot of web scraping, and Lambdas are very useful for web scraping since their IPs can change for each request.

For deployment, you can just do `serverless deploy` or set up a GitHub action each time you push to main.


👤 Tombar
Github actions FTW! > https://docs.github.com/en/actions/using-workflows/events-th...

I remember seeing a couple projects shared before, using this technique to scrape sites with GHA


👤 giaour
AWS Lambda and Azure Functions both support timer triggers and probably round down to $0/ month if your job only runs for a few seconds an hour

👤 Morgawr
My recommendation:

- (free) set up google sheets (not sure if this is required but that's what I do)

- (free) run an scheduled appscript bound to that sheet with regular intervals

- make it scrape the page (it's just javascript, you can do get requests, etc)

- Have it scrape a webarchive of the page you want to compare (not need to persist state or run a database, etc) and have it check the differences with the current page

- Have it send you an email if there's changes

It's totally free, takes no time to set up, and is relatively effortless. It can even send you alert on failures etc. I do something like this for my reading tracker where I crawl various sites (like amazon, etc) and RSS feeds for new releases of books/series I read and collect them in a dynamic spreadsheet.


👤 iforgotpassword
Raspberry Pi at home if you don't have a home server already. Or some low spec cheap vps.

👤 fourseventy
I'm not sure what you mean when you say there is no easy solution... procure a small vm on Linode or your choice of provider for like $20/mo. SSH into it, set up the crontab to run your web scraping script. I could literally have that set up and running in 15 minutes flat.

EDIT: after reading the other solutions in this thread I'm blown away by how much people are over thinking and over engineering this. KISS people.



👤 POPOSYS
There is no way you can do that reliably without a K8S multi-cloud cluster.

👤 emadda
GCP Cloud Run with a schedule set to call the HTTP endpoint once an hour.

Cloud Run will run any docker image, and give it a HTTPS URL. Scales to zero, allows running in the background for up to an hour.

The benefit over FAAS is that you can run anything you want in the container, including multiple processes.


👤 arpanarpan
Hey, this is still a WIP, but I'm building http://choreography.cloud/. We wrap an open-source workflow orchestrator Temporal that offers "durable execution" with very detailed execution tracing and a bunch of recovery mechanisms. We offer a fully-managed Temporal cluster, hosted runtime (so you don't need to worry about provisioning/scaling workers), and offer version control integrations, CI/CD and dynamic config out of the box - so you can go from code to running workflows with no infrastructure overhead. Think "lambda for workflows". Feel free to get on our waitlist!

Here's how a cron job implementation would look with Temporal -

` func Subscription(ctx choreography.Context, userUUID string) error { free_trial_on := true

  for {
    if free_trial_on {
      // Sleep until trial period passes
      choreography.Sleep(ctx, days(15))
      free_trial_on = False
    } else {
      // Charge subscription fee
      choreography.ExecuteActivity(ctx, ChargeSubscriptionAndEmailReceipt, userUUID, frequency).Get(ctx, nil)
      // Sleep until next payment is due
      choreography.Sleep(ctx, days(30))
    }
  }
} `

👤 tuxone
I have been using https://visualping.io/ for precisely the problem you are describing.

Alternatively, for a more generic solution to “easy free cronjobs”, you can write some php page on a free php hosting service and point visualping to that page. Cost: 0/year


👤 dethos
Lots possible solutions. One of them is using Cloudflare Workers, it supports the scheduling parts and storing the previous state. Taking into account the check frequency you describe, I guess it falls within the limits of their free offering.

👤 mhitza
Just use a 2.5$/month instance on Vultr for your cronjob, and plain old sendmail for your emails (they will go in your spam folder but at least you don't have to waste time setting up emails).

👤 ohadpr
I recently utilized Netlify for this. My build was actually my scraper and I used their Scheduled Functions (cron) to trigger this build every so often.

https://www.netlify.com/blog/how-to-schedule-deploys-with-ne...


👤 drewda
I've had good luck implementing this "git scraping" pattern: https://simonwillison.net/2020/Oct/9/git-scraping/

Might be more precise to call it "GitHub scraping" as you set up your script to run on a schedule on GitHub Actions CI and keep its state by committing into the git repo.

We have our scripts running on GH Actions end by hitting the Slack API to notify us with a message.


👤 Yeri
https://github.com/dgtlmoon/changedetection.io

There's a hosted solution, or you can self-host it


👤 shivekkhurana
From Dictionary:

Cheap: low in price, especially in relation to similar items or services.

Easy: achieved without great effort; presenting few difficulties.

Because "easiest" AND "cheapest" are logically conflicting, my answer only applies to "easy" ways of hosting cron jobs. My answer also holds true for background tasks that are not always scheduled.

The two tools I rely on are:

1. Pipedream

2. Windmill (open-source pipedream)

Both of them let me define functions that need to be run on schedule. Also functions that can react to real world events (webhooks). I can code in Go/ Js/ Ts or Python. Everything is version controlled, stored in Git.

For Pipedream, you pay a premium for managed service. Windmill can be hosted on a $5 machine.


👤 0xbadcafebee
Easiest: Linux VM with cron. Pay for it, SSH into it, crontab -e, add your line, save file. Takes 5 minutes to set up. Moderately reliable. $1-$5/month depending on the provider

Cheapest: Any CI/CD service provider. Takes 20 minutes to set up. Not very reliable. Free

Next cheapest, least easy: complex proprietary serverless cloud functions to automatically trigger a task on a schedule. Takes an hour to set up. Most reliable. $0.30-$1.5/month


👤 brycewray

👤 disambiguation
cheapest would have to be running it on the computer you made this post from .. assuming its always on and the delta to your power bill is negligible. as others have suggested if you have an RPi or some other low power SBC laying around, that would be ideal.

i'm sure the major cloud providers have cheap / free tiers for this kind of work, but quite frankly i've been burned by run away pricing tiers too many times to ever consider using cloud again for a personal project .. so unless this is getting funded by a client try to host your own.


👤 tcmb
Sounds like a job for serverless functions, e.g. in Azure [1], though I'm sure every hyperscaler has that. The Azure version even uses Cron syntax for the scheduling.

[1] https://learn.microsoft.com/en-us/azure/azure-functions/func...


👤 sergiotapia
Try https://render.com

The UI is excellent for this. You can probably find cheaper on Fly but probably not easier.

Even easier, maybe more expensive than Render:

https://www.zeplo.io/docs/schedule

You just hit a URL like so and it's done. zeplo.to/your_url.com?_cron=5|14|||*


👤 raviparikh
I co-founded Airplane.dev, which a lot of companies use as a much simpler, serverless, user-friendly alternative to cron: https://www.airplane.dev/schedules

We have companies running hundreds of concurrent schedules on our platform. Send me a note at ravi@airplane.dev if you'd like to chat about it.


👤 jrib
All free:

* free-tier vps on GCP or Oracle Cloud

* lambda job on AWS

I have a cheap VPS I use for other things and just run my cron jobs there.


👤 smartinson
I recently had some smallen private projects and I reasearached and tried out a lot of services. I needed cron jobs to run Node.js scripts properly.

My use cases have been: - Web Scraping of some websites to check stock availability of a product (4 times a day). - Web Scraping of a website to get an apppointment at a specific citizen office (every 5 seconds). If success then send a Telegram Chat Bot message to me.

The second use case was a bit tricky, because my IP was kicked frequently from the server, I tried out what the sweet spot timing for the ping was and my setup (all jobs with different IPs) was the following:

1. setup on my Raspberry Pi in combination of the package PM2 (PM2 is a daemon process manager that will help you manage and keep your application online 24/7)

2. setup on Render (https://render.com/) Advantage here was the very convinient, quick and easy setup. I was able to link my Github Repository to it and the Cron Job would re-build the program automatically whenever a new master version on GitHub was available. I used an in-memory TypeScript job scheduler library in my project that repeatedly executes given tasks within specified intervals of time (e. g. "each 5 seconds") until 7 PM and I let the scron job service execute the script again at 7 AM in the morning. Debug Print Console inclusive.

3. setup on EvenNode (https://www.evennode.com/docs/cron-jobs) Here the upload of my node.js script was done via FileZilla to the FTP-Server of EvenNode. Linkage to GitHub Repository is also possible but since I am not that familiar with the private key setup at GitHub I chose the FTP-Server option. I used an in-memory TypeScript job scheduler library in my project that repeatedly executes given tasks within specified intervals of time (e. g. "each 5 seconds") until 7 PM and I let the scron job service execute the script again at 7 AM in the morning. Debug Print Console inclusive.

Both online Service were very cheap, paid cents only. The Raspberry Pi solution was for free (only energy consumption). I can highly recommend render.com and evennode.com for cron jobs.


👤 dominicwhyte
Retool Workflows is the way to go https://retool.com/products/workflows (see the 4 min demo on their site)

Flexibility to write custom code and alerting logic, but no headache of managing your own infrastructure

Disclaimer: I previously worked at Retool :)


👤 tlarkworthy
I use uptime robot connected to a serverless function, with the great property it can notify me of outages on top of being a scheduled http call. I think the first 50 are free!

https://uptimerobot.com/

GitHub actions are another option


👤 undefuser
Can someone please enlighten me on what is the purpose of using an external Cron runner here? If I need to run the same job(s) for a long time, wouldn't it be simpler and cheaper to run a basic $5 VM on something like Linode?

👤 dataperson42
These days you can do it entirely for free with GitHub Actions, here is one simple example if you want to e.g. schedule a simple Python script running as a cron job https://medium.com/the-prefect-blog/scheduled-data-pipelines...

👤 codegeek
You can checkout https://cronhub.io (I run it). Behind the scenes, it wraps a lambda function with EventBridge (so you can set schedule) and adds other goodies like notifications/alert (slack/email etc), metrics, notifications if job runs slow etc.

Not free but basically you wrap your job in http endpoint and then we take care of the rest.


👤 ectospheno
Cheap vps running urlwatch sending alerts with pushover. Turn on unattended upgrades for the server. The one time pushover fee is well worth it.

👤 andrewmcwatters

👤 BigBalli
A virtual private server can cost only $2/month. If you're looking for task specific, such a simple website monitor, there are services available.

👤 jamescmartinez
Mergent (YC S21) https://mergent.co -- our crons & background tasks are free for the first 1k invocations per month and pay-as-you-go after that.

There are two ways to set up a cron job: the dashboard or via the API if you need the flexibility, e.g., dynamically creating/starting/stopping crons.

We use HTTP webhooks to make the outgoing cron requests, which makes it easy to integrate with a wide range of services and platforms, including Vercel, Lambda, etc. We're also working on adding local execution so you can have even more control over how your tasks are run without using webhooks, but that's still being built & tested.

Feel free to reply here or email me directly if you have any questions: james@mergent.co


👤 choward
It amazes me that for such a relatively simple thing everyone's knee jerk response is THE CLOUD!

👤 bennyfreshness
Google Apps Script

https://developers.google.com/apps-script

It's free, so pretty cheap.

You can set up a schedule to run the scripts. Has easy access to Google APIs (Gmail).

Very powerful and simple solution I've used for years.


👤 cube2222
EventBridge + AWS Lambda

It's cheap as in free, thanks to the generous free tier.


👤 maxchehab
I find the meta implications on this thread quite interesting:

How cheap can you run this cron job, the basics:

- 8,765 invocations a year

- Lambda: $0.20 per 1M requests

- Cloudwatch Events: $1.00 per 1M requests

$1.2 / 1,000,000 * 8,765 = About 1 cent

Is anybody going to host that as a service for this price? Absolutely not.


👤 caiorolla
Probably not the cheapest, but I created beew.io to be the easyest.

https://beew.io/

You can create cron jobs over HTTP, both recurring and one-time:

Node SDK: https://www.npmjs.com/package/beew API Reference: https://beew.io/api

You can also create directly trough the UI.

Let me know if you need any help


👤 rozenmd
Easiest? Probably https://repeat.dev

👤 Waterluvian
I set up a Raspberry Pi on my local network because every year I end up with dozens of little use cases for a Web addressable, always-on machine where I DO NOT need redundancy, uptime guarantees, backups, CDNs, high bandwidth needs, etc.

I want to offload this, but any time I search for an option, they're overcomplicated or overpriced. Maybe there just isn't a market for it?

...maybe I don't want to offload this. The Pi and SD card was like $35, the power is basically zero, and the Internet is basically zero.


👤 mtrunkat
Check out https://apify.com (disclaimer: I work there :)) - a platform focused on web automation and web scraping. You can easily build any (but mainly NodeJS or Python) project there as a Docker container and schedule it in a minute. See my 2 min. video - https://share.cleanshot.com/osSygJ

Priced: $0.25/GB-hour + data transfer and storage


👤 dbieber
Google Apps Script and Browserflow are two of my favorites. Getting a GCP or AWS VM is a solid approach too; both have reasonable free-tiers. And as an alternative to cron, the Python `schedule` library is nice too. Finally if you don't mind some down time, running it on your laptop might be fine. Supervisord is a solid tool for keeping jobs running / restarting them on error.

I'm actively using all of the above approaches.


👤 hiroshi3110
How about Kubernetes cronjobs on Spot VM on GKE autopilot? https://cloud.google.com/kubernetes-engine/pricing If your job only consume 1 vCPU/1GB memory, it costs about $10/month. If those jobs only run 1/100 of a month cost should be $0.1/month.

👤 dusted
okay, why can't you just plug it in /etc/crontab ? If you're just scraping, you don't even need a public ip, and since you're writing this, I assume you own a PC..

👤 eidam
This is exactly why I am building https://repeat.dev, create a scheduled task (cron) and do whatever you want quickly and easily. For a cron, we got a https://repeat.new/cron template.

👤 davide_v
I'm still using the old way: "crontab -e" inside the same EC2 where I run the app. In case of failure I automatically send an email to me. This is the easiest scenario in case you already have an EC2 for some other things that is already running. Instead, from scratch (no EC2), I'd probably use Lambda.

👤 philip1209
I use Render.com for this - including some scripts like "Email me to invoice a client on the 1st of every month"

👤 blakeburch
Agreed that most of the solutions are still tough to implement in production. Plus, a lot don't have built-in logging, error-handling, notifications, version control, package management, etc. Those are the "gotchas" that you won't notice until things inevitably go wrong.

It's worth checking out Shipyard (https://www.shipyardapp.com). I'm the co-founder and designed it to be the easiest way to deploy scripts/workflows in the cloud. You can schedule any code to run our platform (native support for Python, Node.js, Bash) and build reusable templates.

Our free dev plan allows for 10 hours of free runtime per month which is plenty for most use cases. If you want more or need webhooks/API, that starts at $50/month.

Feel free to contact if you want to learn more. Email is in my profile.


👤 UI_at_80x24
Can't you host this on hardware you are running in your house?

👤 timeon
Cheap? Elephant in the room but going to mention it anyway: shared Apache host usually has cron+php+db.


👤 remh
If that's all you need checklyhq.com (not affiliated with them) free plan should do it!


👤 maxperience
Netlify Scheduled Functions for basic TS Code.

It's free.

https://docs.netlify.com/functions/scheduled-functions/


👤 brunovcosta
https://www.abstracloud.com/jobs

It is definitely the easiest way for Python code. Just paste your code and thats it

Full disclosure: I made this product. We are a YC company


👤 TDiblik
Azure functions, as far as I know, have milion executions for free. You can use their "timer teigger" which is a fancy way of saying cron job.

More info:

https://azure.microsoft.com/en-us/pricing/details/functions/

https://www.serverless360.com/blog/azure-functions-triggers-...


👤 YmiYugy
My scenario was triggering a Firebase backup once a day, but being to cheap to upgrade to the paid plan, that does it. (There also isn't an easy way to cap costs with Firebase). I actual backup is handled by a serverless function (in my case hosted by Vercel). There are other services that have somewhat generous free tiers, but be aware that those are usually quite restrictive on run time. For triggering the actual cron job I first tried Github Actions, but found it to be rather unreliable and ultimately settled for qstash by Upstash.

👤 franciscop
I am in a very similar situation, what I ended up doing is use https://uptimerobot.com/ to monitor a specific route "HEAD https://example.com/update", which will update the data. It sends a HEAD request to the given path.

0 code on the cron side (cannot be simpler), and if you only monitor a single route per hour is free as well. AND you get a free UI on how the cron job went :)


👤 jordanbeiber
Temporal and its ”schedule” feature is great - it handles backfill and you can set various policies [0].

We self-host, but they have a GA cloud offering now. [1]

As long as you use js/ts, go, python, php or java that is. For some jobs we wrap process execution - e.g running a powershell command.

[0] https://docs.temporal.io/concepts/what-is-a-schedule

[1] https://temporal.io/cloud


👤 cornel_io
If you have a GCP, AWS, or Azure account already and know Javascript, you should be able to whip up a serverless cron task real quick. IMO the simplest setup is probably GCP via Firebase (which makes deployment super simple once you install the CLI): https://firebase.google.com/docs/functions/schedule-function...

You won't spend much at all, it's fractions of a penny per call and I think there's a free tier.


👤 CipherThrowaway
I've had good experiences with Google Cloud Scheduler. https://cloud.google.com/scheduler

👤 vishnumohandas
You can run jobs with the granularity of a minute for free with Cloudflare Workers[1].

[1]: https://workers.cloudflare.com


👤 rihegher
https://www.webcron.org/en/prices

One of the cheaper options and probably one of the older options.


👤 habibur
Register a $6/month virtual box on Digital Ocean or any such service and run it there. crontab -e.

It might be more than what you need, but your needs will increase. The above cost will not.


👤 geocrasher
There are plenty of budget VPS hosts out there where you can get something for <$20/year. They're not good but they are good enough. Check out lowendbox.com.

👤 thelonelygod
Check out scheduled jobs feature of Superblocks (https://www.superblocks.com/product/scheduled-jobs). We've got a robust free tier (https://www.superblocks.com/pricing) and support Python, NodeJS, REST, GraphQL and a heck ton of DB integrations.

👤 joshghent
Personally, I use render.com to host a bunch. They cost like $1 each a month. Super easy to deploy to because it's just a docker container or script.

👤 whateveracct
How many do you have? There's fixed costs and variable costs, after all.

NixOS-configured systemd timers work great. Code them in bash, Go, Haskell, whatever. If you like polyglot (mostly to leverage any community's open source apps), NixOS is the best.

It isn't the cheapest or easiest for a single job. It's not hard to deploy to a random $5 VPS though (I use a Digital Ocean droplet). But once you have a box to deploy to, the incremental cost is as cheap as it gets.


👤 aavshr
You can checkout Deta (I work for Deta).

Free, the job timeout is 10s but can be extended if needed, and minimum resolution is run every minute.

https://docs.deta.sh/docs/tutorials/cron-guide https://docs.deta.sh/docs/micros/cron


👤 ElevenLathe
If this question came up at work, I would recommend a Lambda function that sends email via SES and is triggered periodically by a CloudWatch event. It would be cheap and require basically no admin overhead once set up.

That said, there are probably different forces at play if this is a personal infrastructure question: while cheap is good, if you aren't fluent in AWS it may be a slog to set up. If you're not, easiest thing is probably a real cron job run on a cheap VPS.


👤 zxcvbn4038
Depends on the job, how long it runs, but could be hundredths of a penny a day on AWS lambda (cloudwatch scheduler accepts cron specs for specifying when it runs)

👤 s1k3s
> It is 2022, so I had thought it would be tremendously easy and cheap, but it seems no solution is easily implemented.

You assume someone purchased hardware (preferably available anywhere on the planet), powered it up, set it up, connected it to the internet, then built the software to handle your very specific task, then put it online to do specifically what you want and for a close-to-free price? And you're shocked this doesn't exist?


👤 SilvanCodes
A pretty easy and at the time of writing free option is to use Dark: https://docs.darklang.com/tutorials/create-daily-job-cron-ha...

Zero infrastructure to manage, only write your script (in Dark, for that matter).


👤 shanebellone
Any of the serverless cloud functions work well and are exceptionally cheap. Azure has a template specifically for this.

https://learn.microsoft.com/en-us/azure/azure-functions/func...


👤 nop_slide
Digital ocean functions just release a “scheduled” feature. It’s super easy and has a generous free tier.

I’m using it to issue a daily db back up command for my app.


👤 martythemaniak
Free tier on Google Cloud. You can use the free VM instance they provide (1 micro per month) and do an actual cron or use App Engine's cron thing.

👤 mritzmann
GitLab.com scheduled pipelines. You get 400 free minutes per month and can do whatever you want.

https://docs.gitlab.com/ee/ci/pipelines/schedules.html


👤 tekno45
How short?

How much local compute do you have?

I think people underestimate dynamic DNS or a static IP if you can get one for your home for cheap.


👤 kmac_
I run my cronjobs on OpenWRT router. It's turned on all the time anyway, so it's for free :)

👤 quickthrower2
I would just defer to Vercel's recommendations: https://vercel.com/guides/how-to-setup-cron-jobs-on-vercel.

Tl;dr: Github Actions for low frequency, upstash for high.


👤 AndrewDucker
I have a PowerShell script that collects some RSS and posts it to my journal.

Easiest way I found to do that was Azure Functions. Costs me about 35p per month. Mostly for storage for logs as far as I can tell. I'd sort that, but it's literally not worth the time it would take


👤 malfist
AWS Lambdas could be used for this, you can trigger them on a time schedule using an event bridge.

👤 jrmg
A free SDF account?

https://sdf.org/


👤 eternityforest
IFTT plus URLLooker would be like $12 a month. I would be tempted to use them instead if I made an average coder's salary, especially if it was for a client who didn't have anyone else who knew cron and scripting.

A VPS at hosthatch is still 4.99 I believe.


👤 warrenm
Sounds like a task for a cheap VPS

👤 kkarpkkarp
You can schedule Buddy.works to run according to crontab:

https://buddy.works/blog/introducing-cron-jobs


👤 yonrg
What ist you question about?

Is it about how to run cron? This is a thing of the past. As you are asking for 2022, look at systemd timers.

Is it about cheap hosting? The are lots of answers here already.

Or is it about how to monitor a site for changes?


👤 atulvi
Github Actions. I run https://twitter.com/someonegoogled every hour using it. never fails. never late.

👤 t312227
hello,

you want to watch a web-page - apparently they have no RSS-feed in 2022... that got out of fashion a long time ago:

cheap: on one of your existing systems [workstation|raspberry|laptop|home-router|server|vm|cloudinstance]

easy: idk. in a short shell-script do something like:

curl -o /tmp/somefile-

diff /tmp/somefile- /tmp/otherfile-

or calculate a hashvalue of the page & compare ...

or go for the last-modified, e-tag or content-length in the http-header

curl -I

put this file into your systems crontab.

just my 0.02€


👤 jsemrau
As someone who always missed failing cronjobs, I am using Airflow with Slack integration. I.e., every time the job finishes, I get a message. If the job fails, I also get a message.

👤 tmpburning
You can get a VPS for $1/month: https://www.lowendstock.com/ (I host Wordpress on one of them)

👤 curiousgal
Since we are at the topic, what the best way to schedule production grade tasks on a Windows server? I joined a new company and they are using Task Scheduler and it is just awful!

👤 cebert
If I were going to design a system to do this, I would consider using AWS EventBridge to drive a lambda directly or enqueue a job to an SQS queue that a lambda is subscribed to.

👤 perryizgr8
I've used GCP Cloud Scheduler for simple cron jobs. It's painless and cheap. You will probably be able to run it in the free tier entirely for low compute jobs.

👤 deafpolygon
> Myself I have had to make a short running web-scraping job that, given a change in the site, sends a notifying email. This running once an hour.

locally hosted linux machine (or vm)


👤 AtNightWeCode
I would suggest anything serverless in most cases. Cheapest is not a great measure. Azure and GCP have good options. Cloudflare too if you just want to do something simple.

👤 indiantinker
I have several cron jobs running on https://www.deta.sh/ . Its free and works well.

👤 naet
I set (and forgot) a Twitter bot a while ago that generates a randomized image and posts it,via GCP with a cron trigger twice a day. It hasn't cost me anything.

👤 baristaGeek
easycron.com

$24/year and you can basically do anything you want.

All you gotta do is select the desired interval, you tell easycron which endpoint you wanna hit, and that's it.


👤 newbieuser
apache airflow and a $5 vps might be the cleanest solution

👤 smilbandit
raspberry pi on your own network that updates an RSS feed that is hosted on an S3 bucket. get the RSS updates via reader, outlook or slack.

👤 Thristle
Any of the managed serverless options with a free tier cloudflare has a free tier but it looks very limited compared to AWS/GCP/Azure

👤 andreterron
This is part of the motivation behind https://val.town (I work there!)

👤 andrecarini
There's Apify for this exact use-case, their free credits combined with the pay-as-you-go pricing should be a suitable solution.

👤 mrichman
Amazon EventBridge schedule -> Lambda function -> SES. This should cost you pennies, assuming you ever break out of free tier.

👤 ronyfadel
You get 3 free scheduled functions using firebase, and you can run Node.

To store data you’d use FireStore and/or Storage.

Both free for your use case (probably)


👤 rtcoms
Try Pythonanywhere. Currently, I'm using this to run a trading bot.

Cost min $5 per month and then additional $1 for each additional task


👤 napolux
IFTTT is free if you don't need perfect timing. Create the job, a http endpoint IFTTT can reach and you're done.

👤 slsii
I just set up something similar myself. Render.com was incredibly easy and intuitive. I think it costs me $1/mo.

👤 kuxv

👤 ChrisArchitect
Not sure about easiest exactly but GitHub Actions has a ton of functionality you can build around a cron schedule

👤 blueflow
You could configure crond to invoke it for you. Debian already has a cron.hourly facility for that rhythm.

👤 mattl
Join something like sdf.org and pay the $60 or so dollars for lifetime membership and you’re all set.

👤 yieldcrv
It is 2022, you don't necessarily need a cronjob, you need to know when the site state changes.


👤 bobleeswagger
Raspberry pi zero or equivalent. Less than $10 and power is virtually free no matter where it runs.

👤 lukaesch
FasS + writing the code with ChatGPT

👤 sooperb
Render charges $1/mo for this. I don't know if it fits your use case, though.

👤 haolez
Any serverless FaaS offering should have a Timer trigger, which is essentially a cronjob.

👤 jacobsenscott
Any cheap vps linux box will have cron and mail sending utils installed and ready to go.

👤 stcroixx
I’d go the the simplest approach - cheapest Linux VM you can get and use cron.

👤 anyfactor
cron-jobs.org is pretty good.

I built a cron job utility service with Pipedream workflows because I needed some additional features like sending email report and hooking up to a cronjob monitor like cronitor or healthchecks.


👤 mullen
If your job is small enough and not ran too often, AWS is literally free.

👤 throwawaymaths
Mergent.io has this feature. Don't know if it's the cheapest.

👤 tumeo
GitHub Actions does cronjobs for free if the repository is public.

👤 goodpoint
Use a systemd timer instead. On a SBC at home or a free VPS.

👤 number6
I have done this on Hetzner. Cost about 10cent per scan

👤 shlosky
Lambda function, scheduled by eventbridge

the simplest and cheapest


👤 darkotic
Maybe something like uptimerobot with a webhook.

👤 MauroIksem
Run it as a GitHub actions with Linux runner.

👤 savrajsingh
Google App Engine, Google Cloud Tasks, free

👤 areichert
Aren’t firebase functions practically free?

👤 badrabbit
Are you just looking for a cloud function?

👤 CogitoCogito
Even in 2022, I’d still use vanilla cron.

👤 sourcecodeplz
A VM in the Oracle Cloud Free tier.

👤 kyleblarson
CDK / Lambda / EventBridge

👤 efortis
I run a few cron jobs in my router.

👤 maayank
What do you guys use that for?

👤 moltar
AWS

Lambda

Event Bridge rule


👤 throwaway742
Google Cloud free tier VM?

👤 tonymet
can you elaborate on the scope ? how many sites and unique pages ?

👤 s-xyz
Google Cloud Scheduler

👤 psyfi
Gitlab CI

👤 holeyness
Aws Lambda

👤 faangiq
You might just be a noob.

👤 enesakar
qstash by upstash

👤 dotluis
www.deta.sh