How to schedule data pipe line in different time zones(other than UTC)? - amazon-data-pipeline

We have to configure a service where it will consider daylight saving. I am trying to use expression(inTimeZone) in data pipeline schedule object to call the service according to CST timings but could not find solution. Could anyone please suggest on this.
Thank in advance.

Scheduling in a different timezone is currently not supported by Data Pipeline. However, if you need to use runtime fields like #scheduledStartTime or #actualStartTime as part of your activities you can use Data Pipeline date expressions to convert to any timezone. http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-pipeline-reference-functions-datetime.html

Related

What is a good way to store arbitrary schedule data?

I am working on a project where the objective is to keep track of whether a client has uploaded data within their expected time-window or not. These windows can occur daily, weekly, bi-weekly, bi-monthly, quarterly... etc. I'm currently using the CRON syntax to describe these schedules which kind-of works, but it falls short in some scenarios, for example the bi-weekly one.
I was wondering if there is some industry standard way to efficiently describe and store schedules that I don't know of. I tried to educate myself via Google, but when I put the word schedule into the mix, it always assumes I'm trying to schedule some task, but I only want to calculate dates based on these schedule definitions and compare the incoming file dates with them.
Thank you

Google creates an event with a wrong time zone when the API is used

When I try to save event to Google with some specific time zones, this time zones get converted to different time zones.
e.g.
When I use insert: https://developers.google.com/calendar/v3/reference/events/insert with the following body:
I get wrong timezones in the response:
Why does Google convert it to something else?
I want to keep timezones that I chose because it looks confusing for the user.
TLDR;
I think the that timezone has been deprecated and not supported by Google Calendar.
Per the docs the timezone is IANA, and that timezone has been deprecates
https://developers.google.com/calendar/v3/reference/events#resource
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
Also Canada/Saskatchewan is supposed to be -06:00, why is it plus +03:00 in your json request?
Lastly, I don't see Canada/Saskatchewan in the available Google Calendar Timzones.

how to capture non-event-driven data in keen-io

Capturing data in Keen.io is pretty straight-forward when it's driven by an event. (User-logged-in, Customer-bought-stuff, ...). That's very nicely explained in the docs.
But what is the best approach when I want insight on a state of my app at a given time in the past?
For instance: how many active licenses were there this time last year?
Our first thought is to run a cronjob every hour, to get those data from te DB, and store them in a custom collection. Is this the right approach, or are there better solutions?

How to automatically save the time stamp of when a record is added / updated in the Firebase cloud database

Is there a way to log when a node is created in the server?
In other words, when a data is "eventually saved" is it possible to log the effective write time?
Approach already considered:
I understand that I can add a value "date" on the node and set it to the time in which the command has been issued. However this does not guarantee that the time will be the same as when is actually written on the server.
What I am trying to measure:
delay between save requests and actual node data "writing" on the cloud
this would allow me to measure the impact of lack of internet connection on my application data synchronisation service
I have never seen anything like that in the docs, so I would say it is pretty safe to say it is impossible.
Like you said, you can use Firebase.ServerValue.TIMESTAMP. If you knew for sure that the client time you have is synced with that of the Firebase servers, then you could combine like this
wantedSaveTime: [client time],
actualSaveTime: Firebase.ServerValue.TIMESTAMP
But, syncing clocks is difficult. If estimates and averages are good enough (like measuring offline time), then the above suggestion might be ok.

Solution for graphing application events metrics in real time

We have an application that parses tweets and we want to see the activity in real time. We have tried several solution without success. Our main problems is that the graphing solution (example:graphite), needs a continious flow of metrics. When the db aggregates the metrics it's an average operation which is done, not a a sum.
We recently saw cube from square which would fit our requirement but it's too new.
Any alternatives?
I found the solution in the last version of graphite:
http://graphite.readthedocs.org/en/latest/config-carbon.html#storage-aggregation-conf
If I understood correctly, you cannot feed graphite in realtime, for instance as soon as you discover a new tweet?
If that's the case, it looks like you can specify a unix timestamp when updating graphite metric_path value timestamp\n so you could pass in the time of discovery/publication/whatever, regardless of when you process it.

Resources