IronWorker
Iron.io Platform: IronWorker
IronWorker is the muscle of the Iron.io Platform. It efficiently isolates code and dependencies of individual tasks so they can be processed on demand. Run in a multi-language containerized environment with streamlined orchestration, IronWorker gives you the flexibility to power any task in parallel at massive scale.
Isolate Your Services
Follow the pattern of modern application development by breaking up your application into logical components based around business capabilities.
Process Asynchronously
Move your tasks to the background to keep the user response loop within a realtime window while still being able to perform all the actions needed.
Run in Parallel at Scale
Cut the overall time it takes to process tasks at high volume by fanning out and running concurrently using only the granular resources needed.
Containerized Environment
Write workers to run in your app, then simply upload and run them in IronWorker, in every popular language – Ruby, Python, PHP, Java, .Net, Node js, Go and more.
Flexible Scheduling
Schedule future jobs to run once, a set number of time, on a recurring, or many options in between.
Detailed Monitoring and Configuration
Gain valuable insight into the performance and status of your tasks through Iron.io’s advanced dashboard.
High-Scale Processing
Leverage IronWorker for on-demand elastic processing without the need to provision and manage infrastructure resources on your own.
Reliable and Secure
Feel secure in SSL connections that run each task in an isolated Docker sandbox with OAuth2 to provide simplicity, flexibility, scalability and security.
Multiple Language Support
Utilize the large set of IronWorker language libraries including Ruby, Python, PHP, .NET, Node js, and more.
Custom Stacks
Developers can define runtime environments and write workers for specific language versions of Ruby, Python, PHP, Node, Java, Scala, and Go. Worker environments are built on Docker containers, allowing for ease of customization and configuration.
- You won’t be limited to a single stack
- Your application can support workers across multiple languages and versions
- Your application can be more loosely coupled and distributed
Webhooks
Make the most of the evented web by hooking your workers up to an HTTP Post endpoint, another worker, or an IronMQ queue. The use of webhooks allows you to create a really powerful workflow across several distinct applications without the need of official integrations.
- You can easily integrate your application with various APIs
- Your application can respond to actions in real time
- You can save resources by only responding to activities as they happen
Logging Integrations
To aid in debugging, everything that is printed to STDOU in a worker is logged to your dashboard, and can be configured to log to an external service. We also offer integrations with popular monitoring and logging services such as PaperTrail, New Relic, DataDog, and StatHat, with more in the works.
- You can monitor the results of your workers in realtime
- You can integrate IronWorker with your logging tools
- You can run your own syslog server
Task Schedules & Prioritization
IronWorker tasks are flexible to either be run immediately or scheduled at a specific time via a client library, the CLI, or your directly within the IronWorker dashboard. Larger IronWorker plans also allow you to set your tasks to be run at a higher priority, to ensure it gets queued up within an acceptable timeframe within our cloud environment.
- You can replace Cron as your task scheduler
- You can queue your tasks to run whenever you need them to
- You can ensure your tasks are given a high priority
High Memory / CPU Instances
For advanced users with heavy processing needs, we offer more robust machines for your workers to run, giving you maximum performance with the elastic provisioning benefits of a cloud service.
- You can cut your processing time significantly
- You can save money by not having to buy new machines
- You can have the power of an in-house system in the cloud
Dedicated Workers
For users with custom SLA requirements and high volume processing, we offer fully dedicated worker environments that provision resources for your tasks and your tasks only, providing you with your own virtual private cloud with all the benefits of IronWorker.
- You can be sure your environment is dedicated to your workers
- Your custom service levels can be met
- You can save money by not having to buy new machines