Hi,

When there are high number of artifacts, sending information of all
artifacts will be inefficient.
Could you check the existing GIT dep sync checkout method and check whether
pulled file names are available.

On Mon, Nov 3, 2014 at 6:31 AM, Harsha Thirimanna <hars...@wso2.com> wrote:

> Hi Roshan,
>
> Can't we read last modified artifacts using GitBlit API from cartridge
> side ? Then we can return only relevant artifacts detail  to the appfactory
> side.
>
> thanks
>
>
>
> On Fri, Oct 31, 2014 at 5:50 AM, Roshan Deniyage <rosh...@wso2.com> wrote:
>
>> Hi Devs,
>>      Based on the previous discussion and decision, I'm in the process of
>> developing the improvement of the subject as follows,
>>
>> (1) Publish a new Event called "ArtifactDeploymentCompletedEvent" to the
>> "instance-notifier" topic of activemq of stratos side by each cartridge
>> agent upon successful git pull.
>>
>> (2) Register a listener to the same topic by appfactory and get the event.
>>
>> (3) Based on the data in the event update the runtime database of
>> appfactory. (last deployment status of the relevant application)
>>
>> To complete the above feature based on the logic mentioned, we need the
>> following data to be published by cartridge agent itself.
>>
>> (a) tenantdomain
>> (b) stage (cartridge knows this)
>> (c) applicationId
>> (d) applicationVersion
>> (e) artifactLastModifiedTime
>>
>> from above data presently only the (b) can be published by cartridge
>> agent.
>>
>> In the S2 git repo the artifact are represented as separate folders of
>> the application for each version. (by appending the version info to the
>> folder name)
>>
>> Since the (a), (b) and (c) are static to single-tenant cartridge those
>> can be obtained if we provide those information with cartridge alias (as a
>> custom formatted string) or manipulating the git repo url.
>>
>> property (e) also can be obtained for each version-ed artifact folder.
>>
>> But, the main problem is getting the property (d). Actually we can get
>> the version info of all the artifacts by its name. But, in cartridge side
>> there is no way to get the updated artifact list.
>>
>> One possible solution for this problem is to send all the artifact names
>> with "lastmodifiedtime" from cartridge side and in appfactory side we can
>> update the database records which the "lastmodifiedtime" is greater than
>> the existing db records.
>>
>>
>> Any comment on this issue is appreciated.
>>
>>
>> Thanks,
>> Roshan Deniyage
>> Associate Technical Lead
>> WSO2, Inc: http://wso2.com
>>
>> Mobile    :  +94 777636406
>> Twitter    :  *https://twitter.com/roshku <https://twitter.com/roshku>*
>> LinkedIn :  https://www.linkedin.com/in/roshandeniyage
>>
>>
>> _______________________________________________
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
> _______________________________________________
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 

Udara Liyanage
Software Engineer
WSO2, Inc.: http://wso2.com
lean. enterprise. middleware

web: http://udaraliyanage.wordpress.com
phone: +94 71 443 6897
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to