Are WebJobs relying on best-effort storage analytics?

I'm trying to understand how WebJobs works to determine whether it's something we can use. I've only played around with it for an hour so I'm by no means an expert.
I've created a small simple web job which just processes blobs in a specific container, like this:
public static void ProcessBlob([BlobTrigger("container/{name}")] TextReader input, string name)
string s = input.ReadToEnd();
It runs fine in a console app I use for testing. I use Fiddler to monitor the http traffic it produces.
In Fiddler I see that it accesses the $logs container in the storage account. If I understand everything correctly, the data in this container is generated by Storage Analytics described here:
http://msdn.microsoft.com/library/azure/hh343262.aspx
When reading that page about storage analytics, I see the following statement:
"Requests are logged on a best-effort basis."
It sounds to me like there's no guarantee that all requests will be logged and it's not really clear what may
cause it to fail. And if I understand WebJobs properly, it relies on all requests being logged. So
the picture I get is that WebJobs are "best-effort" as well and sometimes it might not be executed for blobs.
Is my understanding correct, or am I missing something?
Nitramafve

Thanks Girish!
Also thanks Frank, but what you write does not seem to be entirely correct. I understand that WebJobs are a piece of code that can be run on demand. But before starting to use it, I wanted to understand exactly how WebJobs actually works. I've been
working with Azure Storage for 4 years and know that there is no documented robust way to get notifications when a change is made to blob storage. Based on that, it seemed to me that implementing WebJobs on top of Azure Storage would be hard, unless there
were some undocumented Azure services it was relying on.
So I digged into the Azure WebJobs source code and monitored its request towards Azure Storage, and saw that it was relying on Azure Storage Analytics logs to determine what blobs have been created/updated (so that it can trigger the code execution). Internally
within the Azure WebJobs SDK assemblies, there's code which is designed to parse Azure Storage Analytics (the class StorageAnalyticsLogParser)
This is what does not add up. Azure WebJobs appars to be relying on Azure Storage Analytics, but Azure Storage Analytics is documented as best-effort, which would mean that Azure WebJobs would not always work properly.
But I'm sure I'm missing something here. Maybe Storage Analytics is actually "robust" and not best-effort.
Nitramafve

Similar Messages

  • HT1338 What is the best online storage for photos. Specifically one that allows the original image quality to be downloaded should your hard storage goes belly up

    What is the best online storage for photos. Specifically one that allows the original image quality to be downloaded should your hard storage goes belly up

    I'd put them on an external hard drive(s) and burn them to a DVD as well (at least 2 - 3 copies on different drives/media); I prefer having control and a local solution instead of relying on a server and the possibility of someone (who shouldn't be)  downloading my work.

  • Issue with "Best Effort" QoS

    Hi All,
    I have an issue with the Quality of Service "Best Effort" for a Sender SOAP Adapter. The interface is a synchronous SOAP - to - Proxy scenario.
    Q1 - How does Best Effort Work? If 10 users are sending the synchronous SOAP request, say to a BAPI to display orders, Will all the users get the response, ofcourse for different input Parameters? or the requests will be served first come first serve basis. For eg: user1 will get the response first and then user 2s request is processed?
    Q2 - I am having issues with this scenario like sometimes the end users are getting a blank response message. The message in PI has no errors and the sync SOAP call is successfully completed. So What could possibly be the reasons for the blank responses when the BAPI's, Webservices, PI system and SOAP call everything is successful?
    Request urgent assistance. Thanks a lot.
    Rashmi.

    Q1 - How does Best Effort Work? If 10 users are sending the synchronous SOAP request, say to a BAPI to display orders, Will all the users get the response, ofcourse for different input Parameters? or the requests will be served first come first serve basis. For eg: user1 will get the response first and then user 2s request is processed?
    Best Effort is meant for synchronous communication.  Unlike EOIO,  Best effort  will not guarantee that mesg will be processed in sequential order(one after another) the way it received.   First of all, users can input concurrently (all at the same time) or one after another in very short span time difference. SAP services those users request based on the availability of work process during that runtime. BE only gurantees your message delivery and again based on the nature of the data and processing time and synchronous mode, messages will get processed based on the availability of work process during that time.
    Q2 - I am having issues with this scenario like sometimes the end users are getting a blank response message. The message in PI has no errors and the sync SOAP call is successfully completed. So What could possibly be the reasons for the blank responses when the BAPI's, Webservices, PI system and SOAP call everything is successful
    Due to many reasons.  Are you expecting blank response instead of  valid response?  or  you are getting blank response based on the user's request message. Since you see success mesg log everywhere, the blank response might be based on the request message. Check your mapping and see any logic that cause blank response for some messages?

  • Powershell cmdlets to access Azure Storage Analytics

    Hi,
    Are there PowerShell cmdlets to access Azure Storage Analytics data (Capacity Metrics)?
    -Vatsalya
    Vatsalya - MSFT The views and opinions expressed herein are those of the author and do not necessarily reflect the views of Microsoft.

    Hi Vatsalya,
    You could refer to this code sample about blob analytics metrics (https://gist.github.com/RichardSlater/4753866/raw/91a2bf45fb24dff4f770a1384c3e6578ecbd20d5/Get-CapacityMetrics.ps1
    ) about "StorageAnalyticsMetrics". In this sample, you didn't need to specify the container name.
    Please try it.
    Regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • SIGBUS 10 bus error" & "Inconsistent thread : best efforts attempt (may fail)

    We are using Weblogic 5.1 (no service pack installd) on SUN Solaris.
    Suddenly weblogic server was down & in log file
    we found the "SIGBUS 10 bus error" & "Inconsistent thread : best efforts
    attempt (may fail)" errors (see below for full errors in log file).
    We have executeThreadCount=100 in properties file.
    Is it known problem/bug with solaris?
    thanks,
    -ravi
    Tue Jun 06 15:30:55 PDT 2000:<E> <ServletContext-General> Cannot find
    resource 'javascript/stub.rmf' in document root
    '/qa/weblogic/p4root/website/htdocs-portal'
    SIGBUS 10 bus error
    si_signo [10]: BUS
    si_errno [0]:
    si_code [1]: BUS_ADRALN [addr: 0xd81eb71d]
    stackpointer=C99D0D80
    Inconsistent thread : best efforts attempt (may fail)
    "Thread-36" (TID:0x4e92320, sys_thread_t:0x4e92258, state:CW, thread_t:
    t@202, threadID:0xc8ae1dd8, stack_bottom:0xc8ae2000, stack_size:0x20000)
    prio=5
    [1] java.lang.Object.wait(Object.java:424)
    [2] javax.mail.EventQueue.dequeue(EventQueue.java:73)
    [3] javax.mail.EventQueue.run(EventQueue.java:93)
    [4] java.lang.Thread.run(Thread.java:478)
    Inconsistent thread : best efforts attempt (may fail)
    "SeedGenerator Thread" (TID:0x4994508, sys_thread_t:0x4994440, state:CW,
    thread_t: t@118, threadID:0xc8ab1dd8, stack_bottom:0xc8ab2000,
    stack_size:0x20000) prio=1
    [1] java.lang.Object.wait(Object.java:424)
    [2] sun.security.provider.SeedGenerator.run(SeedGenerator.java:107)
    [3] java.lang.Thread.run(Thread.java:479)
    Inconsistent thread : best efforts attempt (may fail)
    "SSLListenThread" (TID:0x4381688, sys_thread_t:0x43815c0, state:R, thread_t:
    t@114, threadID:0xc8b41dd8, stack_bottom:0xc8b42000, stack_size:0x20000)
    prio=5
    [1] java.net.PlainSocketImpl.socketAccept(Native Method)
    [2] java.net.PlainSocketImpl.accept(PlainSocketImpl.java:406)
    [3] java.net.ServerSocket.implAccept(ServerSocket.java:238)
    [4] java.net.ServerSocket.accept(ServerSocket.java:223)
    [5]
    weblogic.security.SSL.SSLServerSocket.acceptNoHandshake(SSLServerSocket.java
    :121)
    [6] weblogic.security.SSL.SSLServerSocket.accept(SSLServerSocket.java:112)
    [7] weblogic.t3.srvr.ListenThread.run(ListenThread.java:226)

    Hi Steve,
    We are also not getting that error on NT. We are not getting SIGBUS error
    at particular point/place. Randomly (approx after 30 min)
    the server will give this SIGBUS error & shutdowns.
    I tried with -native option with JAVA VM also. Still we are getting the same
    error.
    We are using ORACLE8.1.5 with Weblogic's OCI driver.
    I feel this problem may be related to "jdk1.2.2_05a" on Solaris!!
    Weblogic guys: Will weblogic supports jdk1.2.2_05a on Solaris?
    thanks
    -ravi
    Steve Rogers <[email protected]> wrote in message
    news:[email protected]...
    Ravi, I am developing on WL 4.5.1 and solaris 2.6 with SIGBUS 10 erroralso
    (I also have jdk 1.2.2_05a) I do NOT think it has anything to do withthis,
    java always runs with -native on, infact you cannot turn it off. I am
    using HTMLkona, and getting this (from the thread dump) in
    weblogic.html.OptionElement.
    Do you know where yours is coming from?
    I have been hacking at this for 3 days, and have submitted to
    [email protected] as well. I still cannot figure out why this happens. The
    really strange thing is, it WORKS on Windows NT.
    Please respond, maybe we can help each other solve this problem.
    Thanks
    Steve Rogers
    [email protected]
    "Ravi Kumar.T" <[email protected]> wrote in message
    news:[email protected]...
    We are using Weblogic 5.1 (no service pack installd) on SUN Solaris.
    Suddenly weblogic server was down & in log file
    we found the "SIGBUS 10 bus error" & "Inconsistent thread : best efforts
    attempt (may fail)" errors (see below for full errors in log file).
    We have executeThreadCount=100 in properties file.
    Is it known problem/bug with solaris?
    thanks,
    -ravi
    Tue Jun 06 15:30:55 PDT 2000:<E> <ServletContext-General> Cannot find
    resource 'javascript/stub.rmf' in document root
    '/qa/weblogic/p4root/website/htdocs-portal'
    SIGBUS 10 bus error
    si_signo [10]: BUS
    si_errno [0]:
    si_code [1]: BUS_ADRALN [addr: 0xd81eb71d]
    stackpointer=C99D0D80
    Inconsistent thread : best efforts attempt (may fail)
    "Thread-36" (TID:0x4e92320, sys_thread_t:0x4e92258, state:CW, thread_t:
    t@202, threadID:0xc8ae1dd8, stack_bottom:0xc8ae2000, stack_size:0x20000)
    prio=5
    [1] java.lang.Object.wait(Object.java:424)
    [2] javax.mail.EventQueue.dequeue(EventQueue.java:73)
    [3] javax.mail.EventQueue.run(EventQueue.java:93)
    [4] java.lang.Thread.run(Thread.java:478)
    Inconsistent thread : best efforts attempt (may fail)
    "SeedGenerator Thread" (TID:0x4994508, sys_thread_t:0x4994440, state:CW,
    thread_t: t@118, threadID:0xc8ab1dd8, stack_bottom:0xc8ab2000,
    stack_size:0x20000) prio=1
    [1] java.lang.Object.wait(Object.java:424)
    [2] sun.security.provider.SeedGenerator.run(SeedGenerator.java:107)
    [3] java.lang.Thread.run(Thread.java:479)
    Inconsistent thread : best efforts attempt (may fail)
    "SSLListenThread" (TID:0x4381688, sys_thread_t:0x43815c0, state:R,thread_t:
    t@114, threadID:0xc8b41dd8, stack_bottom:0xc8b42000, stack_size:0x20000)
    prio=5
    [1] java.net.PlainSocketImpl.socketAccept(Native Method)
    [2] java.net.PlainSocketImpl.accept(PlainSocketImpl.java:406)
    [3] java.net.ServerSocket.implAccept(ServerSocket.java:238)
    [4] java.net.ServerSocket.accept(ServerSocket.java:223)
    [5]
    weblogic.security.SSL.SSLServerSocket.acceptNoHandshake(SSLServerSocket.java
    :121)
    [6]weblogic.security.SSL.SSLServerSocket.accept(SSLServerSocket.java:112)
    [7] weblogic.t3.srvr.ListenThread.run(ListenThread.java:226)

  • Best Effort Resequening in SOA Mediator

    Hello,
    I am trying to implementing best effort resequencing in mediator, our set up is
    source table: notification_queue, it has these fields
    id(possible value: UUID)
    priority(possible value: 1 or 2)
    uun(possible value: s12, s22, s34 etc. id for an identity)
    xml(possible value: it holds our business data as xml)
    date_modified(the date/time this row is inserted)
    A DBAdapter is created to constantly poll above table, we set as 10 rows per poll, and these 10 rows are passed into mediator then bpel process to process.
    We implemented best effort resequencing in mediator, we aim to let the mediator sort the data i.e. 10 rows in correct order, the configuration is
    Group by: uun
    ID by: priority
    For example, if the data in the table are
    row 1: uun S12 with priority 1
    row 2: uun S32 with priority 2
    row 3: uun S12 with priority 2
    row 4: uun S32 with priority 1
    After DBAdapter picks this up and mediator resequences it according to Group by: uun, ID by: priority, it should have
    S12 - 1
    S12 - 2
    S32 - 1
    S32 - 2
    or
    S32 - 1
    S32 - 2
    S12 - 1
    S12 - 2
    so it should group by uun, and order by priority as above(we don't care if S12 comes first or S32 comes first, as long as they are grouped together and the order within the group is correct)
    What I've seen the actual results are just random without any resequencing ...
    The problem is more than likely is either (1). mediator resequencing doesn't work as advertised or (2). our mediator configuration is incorrect, but again, there isn't much to be configured apart from setting Group and ID.
    Does anyone successfully implemented Best Effort Resequencing in Mediator? Any help is much appreciated.
    Thank you in advance,
    Best Regards,
    Michael

    Hello S.Ananth,
    Thanks for your suggestion!
    I tried to set Max Rows to 1 in Best Effort resequencer, and inserted the following rows in order
    insert into NOTIFICATION_QUEUE(ROW_ID, UUN, NOTIFICATION_PRIORITY, XML)
    values('1', 'S12', '2', 'S12-2');
    commit;
    insert into NOTIFICATION_QUEUE(ROW_ID, UUN, NOTIFICATION_PRIORITY, XML)
    values('2', 'S12', '3', 'S12-3');
    commit;
    insert into NOTIFICATION_QUEUE(ROW_ID, UUN, NOTIFICATION_PRIORITY, XML)
    values('3', 'S12', '1', 'S12-1');
    commit;
    insert into NOTIFICATION_QUEUE(ROW_ID, UUN, NOTIFICATION_PRIORITY, XML)
    values('4', 'S23', '1', 'S23-1');
    commit;
    insert into NOTIFICATION_QUEUE(ROW_ID, UUN, NOTIFICATION_PRIORITY, XML)
    values('5', 'S23', '3', 'S23-3');
    commit;
    insert into NOTIFICATION_QUEUE(ROW_ID, UUN, NOTIFICATION_PRIORITY, XML)
    values('6', 'S23', '2', 'S23-2');
    commit;
    I set Group by UUN, ID by notification_prioirty, Max row as 1, I run a few tests, results are random, for example
    S12-1
    S23-1
    S23-3
    S23-2
    S12-2
    S12-3
    S23 is not sorted as expected, (1-3-2)...
    Regarding of Standard Resequencer option, unfortunately we can not used it, our real real case have prioirty 1 to 10, and and it is not incrementing by 1, for example, 1,3,4,7,8.
    Best Regards,
    Michael

  • Best effort

    Hi all
    I have difficulty with translating of term "best effort" what does it mean?
    i know that it is QoS for synchronius interface...but why "best effort". How many efforts and which of them best?

    Hi !
    Mikhail
    XI.QualityOfService=<QualityOfService>
    Specifies how the Integration Engine should process a message. The following values are permitted:
    &#9632; XI.qualityOfService=BE(Best Effort, means synchronous processing)
    &#9632; XI.qualityOfService=EO(Exactly Once, means asynchronous processing with guaranteed execution exactly once)
    &#9632; XI.qualityOfService=EOIO(Exactly Once in Order, means asynchronous processing using queues,
    Best Effort --> Used for Synchronous Calls.
    EO and EOIO --> Asynchronous Calls.
    EOIO --> Asynchronous with Sequential Processing Guranteed.
    Check this help:
    http://help.sap.com/saphelp_nw04/helpdata/en/41/b714fe5ffc11d5b3ea0050da403d6a/frameset.htm
    Thanks!
    pls reward if useful

  • What is the best picture storage application?

    What is the best picture storage application?

    It may help to give more details of what you are looking for or maybe what you have looked at and decided against. What is best for one may not be for another if it doesn't include desired features.

  • What are some of the best iOS apps can remotely played videos, audios, photos and text files from a NAS hdd connected to Airport Extreme USB port? And how to configure this setup?

    I have already set up NAS hdd as connecting it at USB port of Airport Extreme, i also want to remotely access it from iPhone, so what's the next step? What are some of the best iOS apps can remotely played videos, audios, photos and text files from the NAS hdd and how to configure this setup?

    *Edit - I am not able to connect to the NAS when hardwired to the airport extreme.

  • Despite my best efforts, I am unable to remove iTunes 11.1.4 from my PC, this being made necessary because the original installation had a flaw and did not load properly. Effor to use the control panel, deleting dll. files, etc. all failed. iTune out??

    Despite my best efforts, I am unable to remove iTunes 11.1.4 from my PC, this being made necessary because the original installation had a flaw and did not load properly. Effor to use the control panel, deleting dll. files, etc. all failed. And, of course, on startup, a window opens with the error and tells me find QTMovie.dll and delete it because this may be the source of the hangup. Also, in trying to delete iTunes, I get the additional message that I must get approval from the System Administrator to take this action. I am the System Administrator.
    Any ideas would be welcomed.
    Thank you.
    James
    <E-mail Edited by Host>

    Thank you for asking this question.  I'm having the same issues. 
    Liz

  • Http sender adapter: QoS is interpreted as Best Effort by PI 7.11

    Hi
    I have a scenario, where I receive an xml OrderResponse via an http sender adapter and I then map it to an iDoc which is sent to the backend system.
    BUT: for some reason, PI thinks, that the Quality of Service is BE, and I get the error "Only asynchronous processing supported for IDoc adapter outbound processg".
    I have checked both the http sender adapter, the sender agreement, the interface mapping, the service interface and the operation mapping and nowhere can I see, that best effort is selected.
    The OrderResponse is sent from an external partner and is routed through a load balancer and an SAP web dispatcher before arriving to PI.
    Any suggestions would be highly appreciated.
    MIkael Lund

    The external partner is sending the OrderResponse to this URL (external URL):
    https://xxxxxx.xxxxxxxx.dk/sap/xi/adapter_plain?service=LM&namespace=http://xxxxxxxx.dk/XCBL/OrderResponse&interface=xCBLOrderResponse35Out
    this URL is being translated to an internal URL:
    https://yyyyyyy.yyyyyyy.dk/sap/xi/adapter_plain?service=LM&namespace=http://xxxxxxxx.dk/XCBL/OrderResponse&interface=xCBLOrderResponse35Out
    So how should the external and/or internal URL be altered?
    Thanks for a very quick answer by the way
    MIkael

  • How to set a query of VO in  Best-Effort Mode

    Hi, I'm using auto refresh property of VO, to refresh the LOV . But i get " java.sql.SQLException: ORA-29983: Unsupported query for Continuous Query Notification" error..
    So i want to set the query in best-effort-mode . May i know how to set it.
    here is my query that set to auto refresh.
    "SELECT DISTINCT YYYY FROM XXXXX"
    Query optimizer makes the above one as below.
    SELECT * FROM (SELECT DISTINCT YYYY FROM XXXXX) QRSLT WHERE ( ( (YYYY LIKE :vc_temp_1 ) ) )

    If you disconnect the PMU, you will have the option to go to tristate or your previous digital state, but not ground. Forcing 0V is probably the closest you can get to a GND like behavior. The default line state is tristate for this device, which will leave the line floating if there is no active driver.
    Kyle A.
    National Instruments
    High Speed Digital I/O Product Support Engineer - R&D

  • File Adapter Best Effort...how come?

    Hi !
    While reading the File Adapter online documentation, it says that it supports Best Effort as QoS...?? I though that QoS = BE is for synchronous interfaces...in what case the File Adapter could work in sync mode?
    Tnx,
    Matias

    Matias,
    A classical use case of when you can use a QOS of BE in the file adapter is,
    https://forums.sdn.sap.com/click.jspa?searchID=3084724&messageID=3075228
    If you look into my response in this thread, the RequestResponseBean is used to change the QOS of file adapter from EO to BE . If you select the QOS as BE in the File Adapter you need not use this module.
    Have not given this a shot though!
    Regards
    Bhavesh

  • QoS issue: Specify Best Effort, but message header contains Exactly Once

    I'm using a SOAP sender Adapter to process messages. I specify Quality of Service as "Best Effort" in the adapter, but whenever a message comes in, it has this in the header:
    <SAP:QualityOfService>ExactlyOnce</SAP:QualityOfService>
    I cannot change this and it is stopping the process working (it works in test but behaves like this in production).
    If I send in a test message the from the Configuration and Monitoring home page, I can set "Best Effort" there and it appears correctly in the header. The process works then.
    How can it be that even though the adapter is specified as "Best Effort", the message has "ExactlyOnce" in the header?

    Hi,
    I did both of those; it is coming through the correct channel, and the  flush of the cache didn't help.
    Anyway, thanks for proposing.
    BR,
    Tony.

  • I have a i phone 5 that we are getting a message not enough storage this Iphone cannot be backed up beacause there is not enough Icloud storage available.  But we cannot go to settings or close out the message . i cannot power off the phone or anthing

    i have a i phone 5 that we are getting a message not enough storage this Iphone cannot be backed up beacause there is not enough Icloud storage available.  But we cannot go to settings or close out the message . i cannot power off the phone or anthing. How do i clear this off the phone.

    First, press and hold the home and power buttons until the Apple icon appears.
    The problem could be that you don't have enough storage on the device itself, not on iCloud.  Go to Settings>General>Usage to see how much "Storage" you have available on the device.  Farther down the list is the available storage on iCloud.
    Also check:
    Go to Settings>iCloud>Storage & Backups>Manage Storage; there, tap the device you need info on and the resulting screen lists Backup Options with which apps store data on iCloud as well.  Tap Show All Apps to get the complete list of apps and MB used for backup storage.
    A device needs many MB of storage in order to perform a backup to iCloud.
    Also see:  http://support.apple.com/kb/ht4847`

Maybe you are looking for