A walkthrough of various application performance tuning tools and a good workflow for where to start, from a presentation at WindyCityRails 2011 in Chicago, IL.
See the video, and more Web and Ruby/Rails Performance info at www.RailsPerformance.com
-John McCaffrey
Akka.NET: Concurrency Without the Pain (Intro to the Actor Model)petabridge
We will introduce and explain the mind-bending actor model from the ground up. This will teach the foundational concepts for understanding the processing framework (Akka, ported to .NET from the JVM) that powers organizations like Walmart, Hootsuite, Apache Spark, Twitter, LinkedIn, and many more.
Attendees will walk away understanding all the fundamental concepts of what makes an actor systems so scalable and powerful, and all the foundational knowledge they need to start creating and deploying actor systems in the wild to solve hard problems.
A walkthrough of various application performance tuning tools and a good workflow for where to start, from a presentation at WindyCityRails 2011 in Chicago, IL.
See the video, and more Web and Ruby/Rails Performance info at www.RailsPerformance.com
-John McCaffrey
Akka.NET: Concurrency Without the Pain (Intro to the Actor Model)petabridge
We will introduce and explain the mind-bending actor model from the ground up. This will teach the foundational concepts for understanding the processing framework (Akka, ported to .NET from the JVM) that powers organizations like Walmart, Hootsuite, Apache Spark, Twitter, LinkedIn, and many more.
Attendees will walk away understanding all the fundamental concepts of what makes an actor systems so scalable and powerful, and all the foundational knowledge they need to start creating and deploying actor systems in the wild to solve hard problems.
One of the main reasons Titanium Mobile has been so successful is that the technology has significantly lowered the barrier to entry for native mobile development. A major force behind this is JavaScript, Titanium's primary programming language. The JavaScript programming language is small enough where the basics can be learned in a matter of hours, which has enabled developers from many different backgrounds to become productive using Titanium. But there's much more to JavaScript than just control structures and a handful of primitive data types - JavaScript is a beautiful functional programming language with great features you might not be using.
Most developers working on the web today have had some exposure to JavaScript, but there's a difference between using jQuery for DOM manipulation on a web page and writing an entire application in JavaScript. This talk, intended for beginner or intermediate JavaScript developers, will focus on the essential language features you will need to write professional JavaScript applications, including but not limited to:
Object Oriented Programming in JavaScript
The Good Parts and Bad Parts of JavaScript
Useful JavaScript Patterns, Tricks, and Style Guidelines
The JavaScript runtime in Titanium Mobile
Further Reading and ways to stay up to date on JavaScript
Copass + Ruby on Rails = <3 - From Simplicity to ComplexityAugustin Riedinger
Presentation made at le Wagon (http://www.lewagon.org) to give tips and learnings from the experience of building Copass (http://copass.org) with Ruby on Rails.
Interesting gems, dangerous ones, tips and readings, to get started with good practices on Rails at 3 steps of a project:
- Bootstrapping
- Going on production
- Scaling
My Site is slow - Drupal Camp London 2013hernanibf
Drupal is a powerful and flexible tool to create web applications without building everything from scratch. This ability can drive developers to build complex websites without understanding what is Drupal doing behind the scenes.
The majority of Drupal performance talks mostly focus in aspects like infrastructure changes, caching strategies or comparisons between modules and architectures. Unfortunately when performance problems occur, development teams also follow strategies to replace different aspects of the platform looking only to standard aspects like slow queries without understanding and profiling the real problem.
The majority of times it is fundamental to measure and analyze what is the application is actually doing to understand te real problems. Drupal is a platform used by million of websites worlwide and its performance can in most cases be compared after measured.
In Acquia we do dozens of performance assessments per year, and even in most clients we find the same problems, often we find situations that only can be detected when measured and analized when looking to a profiler report.
In this session, I will explain how to detect performance problems looking to simple data, from logs to profiler data and providing some nice targets that can be analyzed to understand what is causing the uncommon bad performance of a site.
One of the main reasons Titanium Mobile has been so successful is that the technology has significantly lowered the barrier to entry for native mobile development. A major force behind this is JavaScript, Titanium's primary programming language. The JavaScript programming language is small enough where the basics can be learned in a matter of hours, which has enabled developers from many different backgrounds to become productive using Titanium. But there's much more to JavaScript than just control structures and a handful of primitive data types - JavaScript is a beautiful functional programming language with great features you might not be using.
Most developers working on the web today have had some exposure to JavaScript, but there's a difference between using jQuery for DOM manipulation on a web page and writing an entire application in JavaScript. This talk, intended for beginner or intermediate JavaScript developers, will focus on the essential language features you will need to write professional JavaScript applications, including but not limited to:
Object Oriented Programming in JavaScript
The Good Parts and Bad Parts of JavaScript
Useful JavaScript Patterns, Tricks, and Style Guidelines
The JavaScript runtime in Titanium Mobile
Further Reading and ways to stay up to date on JavaScript
Copass + Ruby on Rails = <3 - From Simplicity to ComplexityAugustin Riedinger
Presentation made at le Wagon (http://www.lewagon.org) to give tips and learnings from the experience of building Copass (http://copass.org) with Ruby on Rails.
Interesting gems, dangerous ones, tips and readings, to get started with good practices on Rails at 3 steps of a project:
- Bootstrapping
- Going on production
- Scaling
My Site is slow - Drupal Camp London 2013hernanibf
Drupal is a powerful and flexible tool to create web applications without building everything from scratch. This ability can drive developers to build complex websites without understanding what is Drupal doing behind the scenes.
The majority of Drupal performance talks mostly focus in aspects like infrastructure changes, caching strategies or comparisons between modules and architectures. Unfortunately when performance problems occur, development teams also follow strategies to replace different aspects of the platform looking only to standard aspects like slow queries without understanding and profiling the real problem.
The majority of times it is fundamental to measure and analyze what is the application is actually doing to understand te real problems. Drupal is a platform used by million of websites worlwide and its performance can in most cases be compared after measured.
In Acquia we do dozens of performance assessments per year, and even in most clients we find the same problems, often we find situations that only can be detected when measured and analized when looking to a profiler report.
In this session, I will explain how to detect performance problems looking to simple data, from logs to profiler data and providing some nice targets that can be analyzed to understand what is causing the uncommon bad performance of a site.
Wordnik's technical co-founder Tony Tam describes the reason for going NoSQL. During his talk Tony will discuss the selection criteria, testing + evaluation and successful, zero-downtime migration to MongoDB. Additionally details on Wordnik's speed and stability will be covered as well as how NoSQL technologies have changed the way Wordnik scales.
Drupal is a powerful and flexible platform to build websites with rich funcionalities without building almost anything from scratch. This flexibility brought by the usage of a powerful framework and the work of a super active community can abstract people to understand what is Drupal doing behind the scenes.
Most of performance talks regarding Drupal focus on aspects like infrastructure changes, caching strategies, and comparison of performance between modules or platforms. Unfortunately when performance problems occur, development teams also follow several strategies to replace several aspects in their platforms, jump directly to look for slow queries before trying really to understand where is the bottleneck.
However, most of the times what really needs to be done is to look to what the application is doing and understanding why is it taking so long to do it. Drupal is a platform used by million of websites worldwide and its performance is easy to measure and compare.
At Acquia we have done dozens of performance assessments, and even if we usually face the same problems, sometimes we found weird situations that are only possible to be detected when measured. Measuring and profiling is the only way to understand performance problems in a site and provide valid fixes.
In this talk I will explain how to detect problems regarding performance in Drupal, using simple modules like devel, profilers like XhProf and looking to logs to understand the impact done on the application.
In this session, we will discuss the Great Simplification Architecture, instead of creating abstract towers of babel, we will see how we can create agile, maintainable and easy to work with architectures and systems that allow you to just go in and start working, rather than spend a lot of time an effort hammering everything in sight, looking for the nail that the architecture diagram's page 239 says must be there.
We want to present multiple anti patterns utilizing Redis in unconventional ways to get the maximum out of Apache Spark.All examples presented are tried and tested in production at Scale at Adobe. The most common integration is spark-redis which interfaces with Redis as a Dataframe backing Store or as an upstream for Structured Streaming. We deviate from the common use cases to explore where Redis can plug gaps while scaling out high throughput applications in Spark.
Niche 1 : Long Running Spark Batch Job – Dispatch New Jobs by polling a Redis Queue
· Why?
o Custom queries on top a table; We load the data once and query N times
· Why not Structured Streaming
· Working Solution using Redis
Niche 2 : Distributed Counters
· Problems with Spark Accumulators
· Utilize Redis Hashes as distributed counters
· Precautions for retries and speculative execution
· Pipelining to improve performance
Modern Web technologies (and why you should care): Megacomm, Jerusalem, Febru...Reuven Lerner
My talk from the Megacomm 2012 conference in Jerusalem, on February 16th, 2012. I describe the fundamental underpinnings of the Web, how things have changed on both the browser and server sides, and what these technologies mean for users..
Modern Web Technologies — Jerusalem Web Professionals, January 2011Reuven Lerner
What's the current state of Web technologies, and how does it affect professionals creating Web applications? In this talk, I survey the latest trends in Web technologies, and where I believe they're going in the near future.
We at Zalando take the time to migrate our large codebase to Swift3. We faced some interesting challenges, problems and insights. This was a talk given by @kandelvijaya speaking about those experiences and outlining the benefits of using Swift3.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Okay, my talk is called &#x201C;...&#x201D; which I think is pretty descriptive. Except that it doesn&#x2019;t really demonstrate the pure awesome is that is Resque, so really, we&#x2019;ll call it...
Yeah.
So, why should you care about what I&#x2019;m going to say in the next 20 minutes? Because when you walk away from this room, you&#x2019;ll all be experts at building a network of high-performance and fault-tolerant workers.
So we&#x2019;re going to talk about three things today
First, we&#x2019;re going to do a general background of background processing
Next, we&#x2019;ll cover the basic concepts of Resque that are derived from Delayed::Job
Last, we&#x2019;ll get into Resque, and how it&#x2019;s different.
So, why run background tasks at all?
- Resize
- Etc
That&#x2019;s all really cool stuff, but it all takes time - sometimes a few seconds, sometimes up to 30 seconds. So, someone, somewhere, had an idea:
- Resize
- Etc
That&#x2019;s all really cool stuff, but it all takes time - sometimes a few seconds, sometimes up to 30 seconds. So, someone, somewhere, had an idea:
- Resize
- Etc
That&#x2019;s all really cool stuff, but it all takes time - sometimes a few seconds, sometimes up to 30 seconds. So, someone, somewhere, had an idea:
- Resize
- Etc
That&#x2019;s all really cool stuff, but it all takes time - sometimes a few seconds, sometimes up to 30 seconds. So, someone, somewhere, had an idea:
Let&#x2019;s do something later than now. If my application doesn&#x2019;t NEED to do this stuff right away, don&#x2019;t keep the request tied up. After all, what IS a request for?
Webpages
In case you&#x2019;d forgotten
- Rails serves webpages.
It&#x2019;s not built to process images or send out mass e-mails; it&#x2019;s built to do two things:
Webpages
In case you&#x2019;d forgotten
- Rails serves webpages.
It&#x2019;s not built to process images or send out mass e-mails; it&#x2019;s built to do two things:
Webpages
In case you&#x2019;d forgotten
- Rails serves webpages.
It&#x2019;s not built to process images or send out mass e-mails; it&#x2019;s built to do two things:
Webpages
In case you&#x2019;d forgotten
- Rails serves webpages.
It&#x2019;s not built to process images or send out mass e-mails; it&#x2019;s built to do two things:
- Receive requests
- Send responses
- Receive requests
- Send responses
Everything else can go elsewhere
So... where should it go? There are a whole bunch of options.
- CRON
- Etc.
But sometimes those setups have problems
So... where should it go? There are a whole bunch of options.
- CRON
- Etc.
But sometimes those setups have problems
So... where should it go? There are a whole bunch of options.
- CRON
- Etc.
But sometimes those setups have problems
So... where should it go? There are a whole bunch of options.
- CRON
- Etc.
But sometimes those setups have problems
- They can fail without telling you why
- You can&#x2019;t get the status of one of a worker
- Ruby processes can be unstable and crash-ey
So maybe you need something a little bit better
- They can fail without telling you why
- You can&#x2019;t get the status of one of a worker
- Ruby processes can be unstable and crash-ey
So maybe you need something a little bit better
- They can fail without telling you why
- You can&#x2019;t get the status of one of a worker
- Ruby processes can be unstable and crash-ey
So maybe you need something a little bit better
Delayed::Job to the rescue!
A Delayed::Job is an ActiveRecord model, so it lives in the database.
- You get persistence baked right in
- It&#x2019;s unbelievably easy to use
A Delayed::Job is an ActiveRecord model, so it lives in the database.
- You get persistence baked right in
- It&#x2019;s unbelievably easy to use
How easy?
Super easy. I pulled this straight from the github page. This code shows how you would create a Delayed::Job
But where does that job go?
Here - your database. Notice that it simply marshals the object and stuffs in the database.
So what do you do with these jobs in the database?
- Run the delayed_job script
This will create...
Workers. They&#x2019;re separate Ruby processes that
- Live in their own thread
- Find jobs in the database
- Perform them separately from the request/response cycle
They boot up your Rails environment to do so.
Workers. They&#x2019;re separate Ruby processes that
- Live in their own thread
- Find jobs in the database
- Perform them separately from the request/response cycle
They boot up your Rails environment to do so.
Workers. They&#x2019;re separate Ruby processes that
- Live in their own thread
- Find jobs in the database
- Perform them separately from the request/response cycle
They boot up your Rails environment to do so.
So before, you had requests coming from a browser into Rails, which dispatches to various services, gets results, and sends something back to the browser
Now you have Rails storing the jobs for later, and Delayed::Job comes along and does the processing Rails isn&#x2019;t good at doing anyway.
So Delayed::Job is totally rad. It handles most of what you might want it to handle.
So when we start in with Resque, you might wonder, &#x201C;Isn&#x2019;t Delayed::Job enough?&#x201D;
Apparently not. There are some situations where Delayed::Job isn&#x2019;t sufficient.
Basically, Resque is enterprise grade shit.
So the first big difference between Resque and Delayed::Job is that Resque doesn&#x2019;t rely on ActiveRecord. It runs on something called Redis, which probably deserves
- its own tangent
Redis is an in-memory Key-Value Store similar to Memcached. But it offers
Redis is an in-memory Key-Value Store similar to Memcached. But it offers
Redis is an in-memory Key-Value Store similar to Memcached. But it offers
Redis is an in-memory Key-Value Store similar to Memcached. But it offers
Redis is an in-memory Key-Value Store similar to Memcached. But it offers
Redis is an in-memory Key-Value Store similar to Memcached. But it offers
Persistence! So you can reboot your server and Redis will reload your original queued jobs. It also is great at
Scalability! The Ruby gem will load-balance tasks across multiple Redis servers for you, meaning you spend less time configuring and more time queueing
So Redis makes Resque incredibly fast and easily distributed.
Also, using Redis means you don&#x2019;t have to worry about ActiveRecord - so you can skip Rails entirely
The next big difference is Resque&#x2019;s workers
- When a worker finds a job to process, it creates a fork that it can monitor to process the job
If a fork spirals out, it doesn&#x2019;t take the worker with it
- Workers are capable of moving failed jobs into the failed List and moving on with their lives
- Workers are also capable of timing their own processes out and failing them
The next big difference is Resque&#x2019;s workers
- When a worker finds a job to process, it creates a fork that it can monitor to process the job
If a fork spirals out, it doesn&#x2019;t take the worker with it
- Workers are capable of moving failed jobs into the failed List and moving on with their lives
- Workers are also capable of timing their own processes out and failing them
The next big difference is Resque&#x2019;s workers
- When a worker finds a job to process, it creates a fork that it can monitor to process the job
If a fork spirals out, it doesn&#x2019;t take the worker with it
- Workers are capable of moving failed jobs into the failed List and moving on with their lives
- Workers are also capable of timing their own processes out and failing them
Resque also supports queues, so different types of tasks can be divided by disparate workers. A file server, for example, can have a worker that only zips files - while a web server can warm image caches.
Resque also skips the marshaling step, and instead opts for a class and a JSON-ifiable argument list. This will keep all instances current
The class&#x2019; &#x201C;perform&#x201D; method is called with the arguments you enqueued it with
Resque comes with its own interface for monitoring queues and tasks, and reviewing failed tasks.
So why use Resque? Use Resque if
- You have many, many, many background tasks
- You need to have different servers performing different types tasks
- You need bullet-proof workers
So why use Resque? Use Resque if
- You have many, many, many background tasks
- You need to have different servers performing different types tasks
- You need bullet-proof workers
So why use Resque? Use Resque if
- You have many, many, many background tasks
- You need to have different servers performing different types tasks
- You need bullet-proof workers
Trouble
- Complex / expensive
- No scheduling or priority
- Asynchronous Redis writes don&#x2019;t guarantee persistence
Trouble
- Complex / expensive
- No scheduling or priority
- Asynchronous Redis writes don&#x2019;t guarantee persistence
Trouble
- Complex / expensive
- No scheduling or priority
- Asynchronous Redis writes don&#x2019;t guarantee persistence
Okay, if we have time I&#x2019;ll show off Resque&#x2019;s UI and do a quick comparison of it to D::J
Thanks for listening!
This is me - you can find me on Github or Twitter, and if you&#x2019;re interested I&#x2019;ll post these slides on Twitter.
Last but not least, I&#x2019;m a visiting emissary from B&#x2019;more on Rails, and I&#x2019;d like to personally invite all of you to come up to our Meetups (on the 2nd tuesday of every month) and our Open Source Hack Nights (on the 4th Tuesday of every month).