Erin
Erin

Reputation: 2048

Is there a time limit to Cron jobs in Google Apps?

I have created a cron job to scan rss/atom feeds but want to know if there is a timeout on this.

The documentation says that requests are limited to 30 seconds; is a cron job a regular request that is subject to this restriction?

Should I break the job up into one scan per cron job just to be on the safe side, or is there a better way?

I was thinking of maybe having the cron job spawn tasks into the task queue that would do the resource fetching (so each task could fetch one resource, and hopefully none would overrun the 30 second limit).

Any advice would be appreciated.

Upvotes: 8

Views: 4303

Answers (3)

poolie
poolie

Reputation: 9526

Cron jobs on manually scaled instances can run for up to 24 hours (they're subject to the same limits as task queues). Auto-scaled instances must still finish within 10 minutes.

Upvotes: 3

speedplane
speedplane

Reputation: 16141

Cron jobs are subject to a 10 minute deadline, not 30 seconds.

See App Engine version 1.4 release page:

No more 30-second limit for background work - With this release, we’ve significantly raised this limit for offline requests from Task Queue and Cron: you can now run for up to 10 minutes without interruption.

@Alex Martelli's answer was correct at the time he wrote it, but is now out of date.

Upvotes: 23

Alex Martelli
Alex Martelli

Reputation: 882751

Yes, the 30-seconds deadline applies to cron jobs, too (just as to regular requests and task queue jobs). The best way to "break things up" is generally to enqueue "continuation" requests on a task queue.

Upvotes: 4

Related Questions