Appfarm Documentation
Getting startedDocumentationCommunityAppfarm Create
  • Overview
  • Getting Started
    • What is Appfarm?
    • Key concepts
    • Quickstart
      • Speed intro
      • Step-by-step guide
    • Appfarm Showroom
    • FAQ
  • Appcademy
    • Learning paths
    • Appfarm Fundamentals
      • Intro Course
        • 1. Intro to No-Code and Appfarm
        • 2. Navigation in Appfarm Create
        • 3. What is Apps?
        • 4. Intro to UI Editor
        • 5. Data Model
        • 6. App Data
        • 7. Actions
        • 8. Tips and Tricks
        • 9. Intro to practical walkthrough
        • 10. Create a details view of a Project
        • 11. Create a Custom List
        • 12. Swipe and Delete
        • 13. Functionality for simple Create of Data
        • 14. Upload and Download Photos
        • 15. Input Dialog with Validation and Save
        • 16. Dashboard
        • 17. Summary
        • Quiz
      • User Interface Fundamentals
        • Container - Sectioning, Styling and Repeating
        • Conditional Styles
        • Motions
        • Responsive Design
        • Step-by-step workflow
        • Featured UI Components
        • Quiz
      • App Data Fundamentals
        • Data Source Filtering
        • App Variables and Runtime Properties
        • URL Parameters
        • Quiz
      • Actions & Logic Fundamentals
        • Event Handlers
        • Featured Action Nodes
        • Context Parameters
        • Quiz
      • Services Fundamentals
        • Introduction to Services
        • Setting up a Service
        • Scheduling a Service
      • Integration Fundamentals
        • The web request action node
        • Fetch data from an endpoint
        • Map data to a data source
        • Modify the response
        • Nested data mapping
        • Path parameters
        • Authentication
        • Send data to an endpoint
        • Quiz
      • User handling and permissions
        • Users and roles
        • Permissions
        • Creating users
        • Extending the User object class
        • Updating and deleting users
        • Unauthenticated access
        • Quiz
    • Appfarm Professional
      • User Interfaces
        • Featured UI Components
        • Concepts and Use Cases
      • Data Structures & Data Handling
        • Data Features
        • Search & Filters
        • Featured Action Nodes
        • GraphQL
      • Logic & Flow
        • Logical Concepts
        • Date and Time Handling
        • Featured Action Nodes
        • Exception Handling
      • Login & Configuration
        • Login and Authentication
        • Settings, Configuration and Languages
      • Security & Operations
        • Security and Permissions
        • Deployment
        • Schedules and Logs
        • Debugging and App Health
      • Performance & Optimization
        • Optimizing Performance
        • Enhancing Functionality
    • Appfarm Sales Representative
    • Appfarm Developer Forum
      • Session 1: Data Modeling in Appfarm Create
      • Session 2: App Data in Appfarm Create
      • Session 3: Services in Appfarm Create
      • Session 4: Optimizing Performance
    • Background
      • Databases
        • Data modeling 101
        • Database normalization
  • Library
    • UI components
      • Advanced bar chart
      • Advanced bubble chart
      • Advanced combined chart
      • Advanced gantt chart
      • Advanced heatmap chart
      • Advanced line/area chart
      • Advanced pie chart
      • Advanced scatter plot chart
      • Advanced solid gauge chart
      • Animated component
      • Avatar
      • Avatar group
      • Basic bar chart
      • Basic gauge chart
      • Basic line chart
      • Basic pie chart
      • Bottom navigation
      • Button
      • Checkbox
      • Chip group
      • Circular progress
      • Coded component
      • Container
      • Date & time picker
      • Drawable canvas
      • Floating action button
      • Icon
      • Icon button
      • Iframe
      • Image
      • Linear progress
      • List
      • Map
      • Menu list
      • Multi select
      • PDF reader
      • Popover
      • Radio buttons
      • Rich text editor
      • Rich text
      • Select
      • Slider
      • Speed dial
      • Switch
      • Table
      • Tabs
      • Text
      • Text edit
      • View container
      • Visibility group
    • Action nodes
      • Aggregate data
      • Advanced search
      • Auth operations
      • Block
      • Catch exception
      • Copy to clipboard
      • Create file archive
      • Create file object
      • Create object
      • Create user account
      • Delete objects
      • Delete user account
      • Duplicate objects
      • End execution
      • Exit block
      • Exit loop
      • Export data
      • Foreach
      • Generate document
      • If
      • Import data
      • Invalidate cache
      • Log in
      • Log to console
      • Log out
      • Next iteration
      • Navigate
      • Open/close popover
      • Open confirm dialog
      • Open print dialog
      • Open snackbar
      • Open Unsplash dialog
      • Open URL
      • Persist objects
      • Push notifications
      • Read objects
      • Request permissions
      • Run code
      • Run other action
      • Run service
      • Scan barcode/QR code
      • Send email
      • Send SMS
      • Set client language
      • Set data source attributes
      • Set selection
      • Set theme
      • Set user account image
      • Show install app prompt
      • Sleep
      • Sort objects
      • Throw exception
      • Toggle drawer
      • Update object
      • Update secret
      • Update user account
      • Web request
      • While
  • Reference
    • Appfarm Create
      • Appfarm Commander
      • Blue dots
      • Copy & Paste
      • Farmer's Market
      • Find references
      • Find usage
      • Keyboard shortcuts
      • Undo/Redo
      • User preferences
    • Platform concepts
      • Conditions
      • Data bindings
      • Date and time
      • Event handlers
      • Filters
      • Functions
      • Markdown
      • Objects
      • Operators
      • Value processor
    • Dashboard
    • Apps
      • UI
        • Views
          • Dialog
          • Drawer
        • Layout designer
        • Component properties
        • Shareable UI components
      • Data
        • App variables
        • Data sources
        • Calendar data sources
      • Actions
      • App settings
      • App size
      • App health
    • Services
      • Service Endpoints
      • Service settings
      • Service health
      • API explorer
    • Data model
      • Object classes
      • Object class properties
      • Enumerated types
      • GraphQL
        • Queries
        • Mutations
      • Data Extract API
      • Time series data
    • Operations
      • Deploy
      • Schedules
      • Logs
    • Resources
      • Themes
      • Files
      • Fonts
      • Internationalization
    • Configuration
      • Environments
      • Login
        • Custom auth providers
    • Security
      • Users
      • Service accounts
      • Roles
      • Secrets
      • Permissions
        • Conditional Permissions
    • Appfarm Client
      • Developer tools for Apps
      • Developer tools for Services
      • Warnings and errors
  • How to
    • Data modeling
      • Many-to-many relationships
      • Use naming conventions
      • Offline data handling
      • Data silos and White labelling
    • User interface
      • Manage a many-to-many relationship with a Chip group
      • Configure drag and drop
      • Build a drag-and-drop calendar
      • Design a responsive layout
      • Work with flexbox
      • Use Mapbox as a map layer
      • Understand charts
    • Logic and flow
      • Event Log Design
      • Configure advanced search
    • Themes and styling
      • Change the active theme
      • Add custom email templates
    • Enhance your app
      • Add deep links
      • Add keyboard shortcuts
      • Add link previews for social media
      • Apply SEO best practices
      • Change the active language
      • Generate a PDF from a Container
    • Integrations
      • Integrate with external systems
      • Integrate with OpenAI
      • Integrate with Google Analytics (GA4)
      • Configure a custom email account
      • Integrate with a payment provider
      • Integrate with Signicat
      • Integrate directly with an external database
      • Retrieve a Bearer token from Google Cloud
      • Fetch data from BigQuery
      • Retrieve access token from Microsoft Entra ID
    • Workflow automation
      • Update an OAuth 2.0 access token from a service
    • Authentication and access control
      • Add users and assign roles
      • Configure unauthenticated access
      • Implement third-party authentication
    • Security, testing and deployment
      • Add a custom domain
      • Install an app on a device
      • Get ready for Production
      • Optimize performance
      • Security checklist
      • Test and debug
    • Example apps
      • Create an Instagram clone
        • The end result
        • Designing the feed
        • Create new post
        • Add a like-button
        • Add comment-functionality
  • Solution administration
    • Subscription and billing
    • Dedicated tier benefits
    • Guide to GDPR
      • Key principles
      • How Appfarm protects personal data
      • How you can protect your clients’ data
      • Glossary
    • Appfarm and the EU AI Act
  • Policies
    • Appfarm Policies
    • Data Processors
    • Privacy Policy
Powered by GitBook
On this page
  • Usage
  • Properties
  • Cron expression
  • Behaviour of Schedules

Was this helpful?

Export as PDF
  1. Reference
  2. Operations

Schedules

Create and manage time-based service triggers for workflow automation.

PreviousDeployNextLogs

Last updated 8 months ago

Was this helpful?

Schedules are used to automate and run them at set times. Common use cases are running batch and recurring jobs such as synchronizing data with an external system, polling for changes, and sending notifications.

When triggered, the schedule will send a request to the specified service . The result of the request (success or failure) is recorded in the .

Usage

Any task that needs to be run on a regular schedule is a candidate for a schedule.

  • Fetch data from an external API every 15 minutes to populate a dashboard.

  • Synchronize customer data with your CRM nightly at 2am.

  • Refresh an OAuth access token used for integrations every 3 hours.

  • Send an email every morning with a summary of all orders from the previous day.

Important

  • Ensure that the selected service account has permission to run the selected service and the necessary object class permissions. If you are updating a secret within the service, that permission must be granted.

  • After you have enabled a service you will need to disable it to make changes. Don't forget to enable it again when you're done!

Properties

Property
Description

Name

Description

A longer description of the schedule. It may be useful to specify what happens in the service being triggered and when the schedule runs.

Service

Endpoint

Service account

Cron expression

Time Zone

The time zone used by the schedule when evaluating the cron expression.

Override Service Time Zone

If this is enabled, the time zone specified above will override the time zone specified on the service.

Restrict to Selected Environments

Enabled

Activate the schedule. This must be checked for the schedule to run.

Cron expression

A cron expression typically consists of five values separated by spaces, in this order, within the stated ranges.

  • Minute (0–59)

  • Hour (0–23)

  • Day of month (1–31)

  • Month (1–12)

  • Day of week (0–6, where 0 = Sunday)

The following example would be run every 3rd hour, on the hour: 0 */3 * * *.

Schedules also support second granularity (0–59). This can be added as the first value in the expression if required.

Available patterns

Symbol
Description
Example

*

any value

*

,

list of values

1,5,7

-

range of values

1-3

/

steps

*/2

Good to know

  • Hover over the blue dot to see a written description of the current cron expression.

Behaviour of Schedules

Services may be run in parallel by default. 2-3 Services may execute at the same time, due to horizontal scaling in the infrastructure. Sometimes more depending on the subscription tier (configuration).

You should try to spread the load of the scheduled services when you have multiple schedules, and you should make sure a given schedule is not too frequent, always allowing the previous execution to finish before the next execution starts.

Here are a few notes on the built-in behaviour of Schedules:

  • Two different Schedules may run in parallel. 2-3 parallel Schedules are normally supported, sometimes more. However, you should strive towards minimizing parallelism to spread the load.

  • For a given Schedule: If the previous execution has not finished when the next execution starts, the next execution will be skipped.

    • Example: If a Schedule is set up to run every minute, but the execution lasts 2.5 minutes, only every third Schedule will execute.

  • If a Service Endpoint has No Concurrency, any given schedule will fail if that Service Endpoint is being executed (triggered from a previous Schedule, or an external party or App) when the Schedule starts.

  • If Services are exhausted (e.g. running on maximum capacity), a Schedule may fail. In this case, the Schedule may report Failed in the Logs, whereas the Service does not report anything (it did not have the possibility to even start, thus not reporting anything).

A descriptive name. This is shown in the .

The containing the endpoint the schedule will call.

The the schedule will call.

The that will be used to run the service.

The time schedule on which the service will be run in the form of a . The expression is validated and an error is shown if it is not valid.

By default a schedule will run on all enabled environments in a solution that have the Enable Scheduler checkbox selected under . You can restrict which environments the schedule will run on by selecting this checkbox and then selecting the environments where the schedule should be enabled.

Use to help you generate a valid expression and to find common examples.

Given the above example: If the Service Endpoint has the setting , the Service will be executed every minute since Run Async reports back success immediately, and the execution just continues on the server. Use Run Async with care, and preferably in combination with .

services
endpoint
schedule logs
crontab guru
logs
service
endpoint
service account
Environments
cron expression
Run Async
No Concurrency