BizTalk Scheduled Task Adapter is now stable and officially available for BizTalk Server 2016

Almost 20 days since I release the beta version of BizTalk Scheduled Task Adapter and still no issues reported. I also have been testing intensely the adapter so it is fair to say that this version is stable, so, I officially remove the “beta label” from this version. BizTalk Scheduled Task Adapter is finally officially available (version 6.0) and optimized for BizTalk Server 2016!

The BizTalk Scheduled Task Adapter is an in-process receive adapter that executes a prescribed task on a daily, weekly or monthly schedule. The adapter is configured entirely within BizTalk, all configurations are stored within the SSODB and can be exported and imported via binding files.

The schedule capabilities are similar to those available with the Windows Scheduled Task Service.

BizTalk Scheduled Task Adapter for BizTalk Server 2016

What is new?

New schedule capabilities:

  • You can now schedule for a message to be a trigger in a time period, for example, each hour, minutes or seconds, every day or on certain days (for example all days except weekends).
BizTalk Scheduled Task Adapter new schedule capability

What was improved or fixed?

Several reported issues were from previous BizTalk Scheduled Task Adapter versions were solved, for example:

  • In some scenarios, trigger message sent twice at the same time – Solved
  • Bug: Time change (DST) bug – Solved
  • Bug: BizTalk Scheduled Task Adapter SQL Timeout issue – Solved

You can download this new version of the Scheduled adapter in the adapter CodePlex project page:

Please fill free to try and use the adapter and If you find any problems or bugs please open an issue on the adapter GitHub site: https://github.com/sandroasp/BizTalk-Scheduled-Task-Adapter and help evolve this community adapter You can also suggest new features, I am also open to new ideas.

You can also find the Installation process documented here: BizTalk Scheduled Task Adapter 6.0: Installation process

#1 all-in-one platform for Microsoft BizTalk Server management and monitoring
Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

52 thoughts on “BizTalk Scheduled Task Adapter is now stable and officially available for BizTalk Server 2016”

  1. Hello, new adapter 6.0 is not working, schedule is not triggering at all. tried with 32 and 64 bits and all types of schedules like timespan/daily/weekly.

    1. Very strange… I already installed in several machines and i didn’t find any kind of problems… do you see any error message in event viewer or somekind of error message?

      1. Thanks for your response. no errors, and schedules are not running. we installed on 3 different servers. as per the document it should create HKEY_CLASSES_ROOTCLSID{7A4BDD2A-3063-4f57-A108-DEA05DEB417E}

        . but its not, the same ID is in 5.0 version, so might have missed to update GUID.

        1. need to check the key but I think is different now something like HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeClassesCLSID{F2FAA6A3-45E2-4C09-8024-425E768CC8EF}

          1. If any body using 6.0, can you please help me in resolving the issue? schedule adapter is not triggering at all

    2. I have seen the same problem with a project that I am (very desperately) trying to update to BizTalk 2016. An instance of a custom task is made, but it is never called.

      1. After downloading the source and building a local version, I can confirm that the release does seem to have some issues. I confirmed that tasks were never called. When I changed all usages of DateTime.UtcNow to DateTime.Now in the code, scheduled tasks fired as expected.

        1. Thanks Nathan, what do you mean by When I changed all usages of DateTime.UtcNow to DateTime.Now in the code, scheduled tasks fired as expected.? I dont have source code, pls let me know where you changed? DB?

          1. I have the same issue. Trying to use it on an Azure Virtual Machine but the task is schedule 3 hours later than the current time. So the task is not fired. I’ve downloaded the source code to see if Nathan’s idea works.

          2. download source code and replace DateTime.UtcNow with DateTime.Now as Nathan suggested, it should work. its working for me

  2. Hello,

    Im having trouble with the
    BizTalk ScheduledTask Adapter 6.0 for BizTalk 2016. The .dlls are in the GAC,
    and everything looks fine. But my receive Method gives me the following ERROR:

    “The receive location “Receive_Currency_loc” with URL “schedule://Daily/NorgesBanksDailyCurrencyFile”
    is shutting down. Details:”Unable to cast object of type
    ‘ScheduledTaskAdapter.TaskComponents.HttpDownload’ to type
    ‘ScheduledTaskAdapter.TaskComponents.IScheduledTaskStreamProvider’.”.

    I have searched, but cannot
    find anything about this ERROR. Do you have any suggestions?

    Brg

    Eva

  3. Thanks Nathan, I have done the same, downloaded code then DateTime.UtcNow to DateTime.Now. now its working fine. not sure how it was working ? Sandro?

  4. Dear Mr. Pereira,

    We use the schedule adapter in an Azure VM but as much as we tried to configure it to read the VM time, the adapter read the Azure host time (3 hours more than VM). We use BTS2016 with Feature Pack 1 (and set the time zone to GMT -3, our scenario). Would you kindly guide us as we find out where the adapter is looking for the time to run? Grateful. Carlos Santos / eCorp / Brazil

  5. Mr Pereira …

    When Explore the BizTalk Schedule Adapter the class or namespace TaskName is not defined. Did I forget some pre-requisite reference? What should I check in the code to solve this problem?

    Thanks in advanced for your attention.

  6. Hi. I have an issue with the Schedule Task Adapter. The problem is that every time i enable the receive-location it generates many XMLs.

    The task i use is ScheduledTaskAdapter.TaskComponents.XmlStringStreamProvider, ScheduledTaskAdapter.TaskComponents, Version=6.0.0.6, Culture=neutral, PublicKeyToken=aa9f2dd0f13442dc.

    I tried setting ut a sendport that subscribes to this receiveport, and it spits out 60 XMLs each time i enable it.

    It is set up on TimeSpan. The interval i 1 minutes.

    Do you know how i could fix this?

    1. I am also facing the similar issue but in my case it is generating 5 messages each time I enable it.

  7. The CodePlex appears to be in an archived state now. You can download the archive of the site, but the released packages aren’t exactly in an accessible state. Is there going to be a new home for the Scheduled Task Adapter?

  8. Hello Sandro and everyone,
    I am trying to make BizTalk Scheduled Adapter 6.0 work with BizTalk 2016 on Windows Server 2016. However I keep getting this error message when I was trying to create a Receive Location, “Object reference not set to an instance of an object. (ScheduledTaskAdapter.Admin).” My friend runs this on Windows Server 2012 R2 fine. I am wondering if this has something to do with Windows Server 2016? Any thought would be very helpful! Thanks

  9. Strange, when I try to download it from the archive, it seems there is a virus on it…. hmmm

  10. Hi Sandro!
    Just finished installing a brand new multi-server environment of BTS2016 using Schedule adapter 6.0.
    We are experiencing similar issues reported in codeplex “Multiple Messages & Schedule issue at restart”. Adapter fires 6 to 11 messages when enabling the receive location/restarting host instance(s) – even when the schedule’s first run is set into the future. Host instance controlling the adapter handler is running on one node only.

  11. Hello Sandro,

    It was a pleasure meeting you in person in Seattle back in Oct 2017.

    My question is silly. I’m trying to download the latest Schedule Adapter but I’m not seeing the msi from the zip file I managed to download.

    Am I missing an extra step in the installation process?

    Please let me know when you get a chance.

    Thanks Sandro.

  12. Your project seems (on codeplex) seems to be developed in VS 2017. I wonder how you did it?
    When I install VS 2017 I cannot get the BizTalk support/SDK/templates into VS and Google on refers to dead links (and states there is no support yet).

    If I open your project in VS2015 I get error since it’s a VS2017 project.

    Do you also provide binaries for the adapter? I am really not interested in the source code but downloaded it to build it since I did not find any binaries. I just want to use the adapter 🙂

    Obrigado!

  13. Hi Sandro

    Any chance the bug “trigger message sent twice at the same time” can be fixed on a version of the adapter compatible with BTS 2013 R2 ?

  14. Hi, I have a customer that uses the schedule adapter with a 1 minute intervall set but after a while there is a gap on the receiving system when there is no data. I suspect that the adapter is affected by the execution time and that after a while it will skip over a minute.

    I looked at the sourcecode from codeplex , is that still the one in use ?
    The GetNextActivationTime() method uses DateTime.UtcNow instead of the time when it was last triggerd so it all depends on when GetNextActivationTime() is called.

  15. 1 Have you uploaded the latest source code in Github?

    2 Have you fixed the following bug in the latest code?

    Bug: if you restart the host instance then GetNextActivationTime() doesn’t take the start time in to consideration and schedule starts from the time of the restarting the host instance. for example– if you have start at 8:00AM every 1 hour and then if you re-start the host instance at 8:35AM then the next rub starts at 9:35AM instead of 9:00 AM or 10:00AM

  16. We are using Scheduled adapter in BizTalk 2013 and its been working fine expect the trigger message is sent twice at the same time. This is very sporadic though.We are migrating to 2016. I installed the latest version 6.0 on Biztalk 2016. I use ScheduledTaskAdapter.TaskComponents.XmlStringStreamProvider. Hence, I changed the bindings file to refer to latest version ScheduledTaskAdapter.TaskComponents, Version=6.0.0.6. But, the scheduling is not working in 2016. Should I change anything else in the bindings file? I had the start date as 01/01/2018 and start time as 4.00am. While troubleshooting I changed the start date to future date and time when I wanted to trigger next. It started working fine. If I have the start date as past date its not working fine.
    My question is
    1. For the first time when I deploy the application should the start date and time be future time.
    2. If yes, then everytime we deploy the application should we update the bindings with future date.
    I did not see this issue in 2013. I always had the past date and time.

    Thank you!!

  17. Hi Sandro,
    can this version 6 of BizTalk scheduled task adapter be used with the newest version of BizTalk 2020?
    waiting for your reply.
    Many thanks!

  18. I might be blind, but are there any way to get the source code for this so that I can fix the UTCNow issue, as I am also getting multiple triggers on restart of hosts. I can only find the binaries on github.

  19. Hello, after installation of BizTalk FP3 with CU7 scheduled task adapter is not working. It always received data only once after host instance restart. We are using TimeSpan option. Enable / disable receive location or change start date / time will not trigger anything. On DEV we installed latest ScheduledTask Adapter version and since that time even host instance restart triggers nothing.Thanks for any comment.

    1. We have 2 clustered hosts – 32 bit and 64 bit. Before FP3CU7 we used 64 bit for SFTP and Schedule Adapter. We found that Schedule Adapter works well when we switched from clustered 64 bit host to BizTalk application host (32 bit). So we switched it to clustered 32 bit host and messages are processed again according schedule.

      After FP3CU7 is needed to modify BizTalk config file (32 or 64 – depends on host) to make SFTP working with recommended (latest) WinSCP version – https://docs.microsoft.com/en-us/biztalk/core/sftp-adapter

      In our environments we modified 64 bit and this probably disabled scheduled task adapter. Now when is configured to use clustered 32 bit host is working.

  20. Hi Sandro,

    Is this adapter 6.0 will work on biztalk active /active scenario with out running twice i.e. duplicate as am seeing having issue with 5.0 version which triggering twice. Please can you confirm??

    Regards,
    Santosh

  21. Hi there!
    Is there a possibility for a schedule adapter to potentially tell an FTP receive location to pick up a file? How could you make this work?
    Could this work for different processes as well? e.g. HTTP requests.

    Cheers,
    Esac

  22. Does any one using BizTalk task scheduler for BizTalk 2020? I am getting error as Object reference not set to an instance of an object. (ScheduledTaskAdapter.Admin)

  23. Okay, about a month ago, I installed on BizTalk 2016 the Feature for scheduling and I use nsoftware adapters, While I con figured it, it seems not to work, I had to turn off the time window and 2 files went over immed.

    Is there something that is wrong that I am doing. I have the start date checked off, the enable service window checked off, Daily and recur set to 1 and date set back about 1 month ago.

    Any suggestions would be good.?

  24. Sandro,

    I am having an issue with the 2016 version where after restarting the host instance, sometimes the receive port isn’t triggered during subsequent times.

    Is there a way to look and see when the next scheduled instance is going to be triggered? Is it stored in the one of the BizTalk database tables? Is there a timer message somewhere?

Leave a Reply

Your email address will not be published. Required fields are marked *

turbo360

Back to Top