Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-16960] CLI: Rearchitect to analytics to allow atomic events and only one process to send payload

GitHub Issuen/a
TypeImprovement
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2014-05-15T01:08:10.000+0000
Affected Version/sn/a
Fix Version/s2014 Sprint 10, 2014 Sprint 10 Tooling, Release 3.3.0
ComponentsCLI
Labelsn/a
ReporterChris Barber
AssigneeChris Barber
Created2014-05-14T22:22:01.000+0000
Updated2014-06-12T23:46:47.000+0000

Description

Whenever an analytics event is generated, it is persisted to disk until the event has successfully been sent to the server. The problem is that all events are written to the same json file. This will cause issues when more than one analytics process is being run at the same time. So we solve this by writing events to separate files as well as creating a pid file that only allows one process to send analytics at a time. FYI, these changes take place in node-appc.

Comments

  1. Chris Barber 2014-05-15

    node-appc master pull request: https://github.com/appcelerator/node-appc/pull/89 To test, create and build an app and make sure the ~/events directory was created and that it is empty (meaning all of the events have been sent).
  2. Olga Romero 2014-06-12

    Tested with [~cbarber] and verified only one process is sent to payload. The events folder is empty. Environment: Mac osx 10.9.3 Mavericks Appcelerator Studio, build: 3.3.0.201406111156 Titanium SDK, build: 3.3.0.v20140611084912 Node.JS Version: v0.10.13 NPM Version: 1.3.2 acs@1.0.14 alloy@1.4.0-rc npm@1.3.2 titanium@3.3.0-rc titanium-code-processor@1.1.1

JSON Source